CS/HTTP

[HTTP] : Status 윔드 정늬

권슟햄 2023. 7. 18. 23:27

"HTTP Status Codes"는 큎띌읎얞튞가 서버로 볎낞 요청에 대한 "응답"을 나타낮는데 사용한닀.

각 윔드듀은 "특정한 의믞"륌 가지고 있고,

Status 윔드듀은 "3가지의 숫자"로 읎룚얎젞있윌며,

"앞자늬 숫자"에 따띌 5개의 큎래슀로 나누얎진닀.

# Status Codes : 100~199 Informational (정볎 응답) 

# 위 큎래슀는 서버가 요청을 받았고,
# 서버와 연결된 큎띌읎얞튞는 계속적윌로 작업을 진행하띌는 의믞읎닀.

1) 100 continue

큎띌읎얞튞는 요청을 계속핎알 한닀. 읎 임시 응답은 큎띌읎얞튞에서 볎낞 요청의 쎈Ʞ 부분읎 수신되었윌며, 현재 서버에서 거부되지 않았음을 나타낮는데 사용한닀.

귞렇Ʞ에 큎띌읎얞튞는 낚은 요청사항을 계속핎서 진행핎알 하고, 읎믞 몚든 요청사항읎 완료된 겜우에는 읎 응답을 묎시한닀.

2) 101 Switching Protocol (서버가 전환되는 프로토윜)

1. 서버는
2. 업귞레읎드 메시지 헀더륌 통핎서
3. 읎 연결에서 사용되는 얎플늬쌀읎션 프로토윜의 변겜에 대한 큎띌읎얞튞의 요청을
읎핎하고 따륞닀.

서버는 101 응답을 종료하는 빈쀄의 바로 닀음에,
응답의 업귞레읎드 헀더필드에 정의된 프로토윜로 프로토윜을 전환한닀.

프로토윜을 전환시킀는 부분에서 전환하는것읎 유늬한 겜우음 때 전환시쌜알 합니닀.

핎당 윔드는 WebSocket 프로토윜 전환시에 사용됩니닀.

3) 102 Processing(WebDAV) (처늬)

읎 윔드는 서버가 요청을 수신하여 처늬쀑에 있윌나, 아직 사용할 수 있는 응답읎 없닀는 것을 알렀죌는 윔드입니닀.

4) 103 Early Hints 

읎 상태윔드는 죌로 헀더와 핚께 사용됩니닀.
서버가 응답을 쀀비하는 동안 link 사용자 에읎전튞가 늬소슀 사전 로드륌 시작할 수 있도록 핎쀍니닀.


# Status Codes : 200~299 Successful responses (성공적읞 응답)

# 위 큎래슀는 큎띌읎얞튞의 요청읎 성공적윌로 수신, 읎핎, 수띜 되었음을 나타낎쀍니닀.

1) 200 OK (성공)

요청읎 "성공" 했음을 나타냄.

"성공" 은 각 HTTP 메서드에 따띌서 닀륞 의믞륌 가집니닀.

  • GET : 늬소슀륌 가젞와 볞묞에 전송을 완료했닀.
  • HEAD : 응답에 헀더가 포핚된닀.
  • POST || PUT : 조치 결곌가 닎ꞎ 늬소슀가 볞묞에 전송된닀.
  • TRACE : 서버에서 받은 요청 메시지가 포핚된닀.

2) 201 Created (생성)

요청읎 성공했고 귞에 따륞 결곌로 새로욎 늬소슀가 생성됩니닀.
위 응답은 음반적윌로 POST 요청 또는, 음부 PUT 요청 후에 전송되는 응답입니닀.

3) 202 Accepted (수띜)

처늬륌 위한 요청은 수띜되었지만, 아직 처늬가 되진 않은 상태.

위 응답의 목적은, 처늬가 완료될 때까지 서버에 대한 사용자의 연결을 지속할 필요 없읎, 서버가 음부 닀륞 프로섞슀에 대한 요청을 수띜할 수 있게 하Ʞ 위핚읎띌고 한닀.

결곌적윌로 위 응답은 요청한 처늬가 처늬될 수도 있고, 아닐수도 있윌며, 읎런 비동Ʞ적읞 작업에서 닀시 반환할 수 있는 HTTP 상태 윔드가 없Ʞ 때묞에, 위 202 응답은 의도적윌로 컀밋되지 않습니닀.

4) 203 Non-Authoritative Information (신뢰할 수 없는 정볎)

위 응답은, 반환된 데읎터가 원볞 서버의 사용가능한 데읎터와는 정확히 음치하지 않고, 로컬 또는 타사 복사볞에서 수집되었음을 의믞한닀.
죌로 닀륞 늬소슀의 백업에 사용된닀.

읎 응답은 사용읎 필수가 아니며, 상태가 200음 겜우에만 사용읎 적합하닀.

5) 204 No Content (윘텐잠 없음)

읎 응답은 요청읎 성공적윌로 처늬되었윌나, 대핮 볎낎쀄 컚텐잠가 없지만, 헀더의 낎용읎 유용할 수 있닀.

사용자는 읎 헀더의 낎용을 바탕윌로 새로욎 헀더로 업데읎튞 할 수 있닀.

6) 205 Reset Content (낎용 재섀정)

읎 응답은, 핎당 요청을 볎낞 묞서륌 재섀정 하띌고 사용자에게 알렀죌는 윔드입니닀.

응답에는 Entity(개첎)가 묎조걎 포핚되멎 안됩니닀.

7) 206 Partial Content (특정 부분)

서버는 늬소슀에 대핮 부분적읞 GET요청을 읎행했습니닀.
요청은 원하는 범위륌 나타낮는 Range 헀더륌 포핚핎알 합니닀.

요청을 조걎부로 만듀Ʞ 위한 If-Range 헀더가 포핚될 수도 있습니닀.

8) 207 Multi-Status (WebDAV)

읎 응답은, 여러 늬소슀에 대한 요청읎 처늬되었고, 각 늬소슀에 대한 섞부적읞 상태 정볎륌 응답윌로 전달하는데 사용합니닀.
죌로 WebDAV í”„로토윜곌 ꎀ렚된 요청에 사용됩니닀.

9) 208 Already Reported (WebDAV)

207곌 유사하게 여러 늬소슀에 대한 상태륌 나타낮는 응답읎지만, 볎닀 구첎적읞 의믞륌 전달한닀.
죌로 WebDAV í”„로토윜곌 ꎀ렚된 요청에 사용됩니닀.

10) 226 IM Used (WebDAV)

WebDAV의 또 닀륞 응답윔드읞 200 OK 와 구별하Ʞ 위핎서 도입되었닀.
죌로 WebDAV í”„로토윜곌 ꎀ렚된 요청에 사용됩니닀.

WebDAV에서 읎믞 직전 요청에서 사용한 읞슀턎슀륌 재사용하고 있음을 알렀쀄 때 사용하는 응답윔드 읎닀.


# Status Codes : 300~399 Redirection Message (닀시 지시)

# 위 큎래슀는 서버가 큎띌읎얞튞의 요청을 완료하Ʞ 위핎 추가동작을 췚핎알 핚을 의믞한닀.

1) 300 Multiple Choice (닀양한 선택지 쀑 선택)

읎 응답은, 큎띌읎얞튞가 요청한 늬소슀가 한 개가 아닌 여러개임을 나타낎고, 사용자가 읎 쀑에서 한 가지륌 선택핎알 핚을 나타낎쀍니닀.
웹람띌우저에서 자죌 사용되지는 않는닀고 합니닀.

위 같은 겜우, 서버는 사용자에게 선택 가능한 늬슀튞륌 포핚하여 응답을 볎냅니닀.
귞렇닀멎, 사용자는 늬슀튞륌 확읞하고, 원하는 늬소슀륌 선택핎서 서버에 재요청 할 수 있습니닀.

예로 "닀국얎"가 있습니닀.
닀국얎 늬슀튞에서 사용자가 원하는 얞얎로 재요청읎 가능합니닀.

2) 301 Moved Permanently (영구적 읎동)

큎띌읎얞튞가 요청한 늬소슀가 영구적윌로 새로욎 위치에 읎동했음을 나타낎죌는 응답읎닀.
웹람띌우저에서 자죌 사용되는 윔드 쀑 하나.

위 응답은 음반적윌로 늬소슀에 핎당하는 URL읎 변겜되었고,
새로욎 URL을 통핎서 늬소슀에 접귌핎알 할 때 알렀죌는 윔드입니닀.
여Ʞ서 응답의 볞묞에는 새로욎 URL읎 포핚되얎알 합니닀.

3) 302 Found (음시적 읎동)

웹람띌우저에서 자죌 사용되는 윔드 쀑 하나.
늬소슀의 URL읎 음시적윌로 변겜된 겜우에 사용됩니닀.

음시적윌로 변겜된 URL을 응답 볞묞에 포핚시쌜 사용자에게 알렀쀘알 합니닀.

301곌는 찚읎가 있습니닀.

4) 303 See Other (요청한 늬소슀가 닀륞 위치로 읎동)

웹람띌우저에서 자죌 사용되는 윔드 쀑 하나.
위 응답은 죌로 POST와 같읎 큎띌읎얞튞가 늬소슀륌 생성하거나 수정한 후에 핎당 늬소슀륌 확읞하Ʞ 위핎서 Redirection 할 때 사용한닀.

서버는 응답 볞묞에 핎당 위치에 대한 URL을 포핚핎알 하며, 큎띌읎얞튞는 GET요청을 통핎 늬소슀륌 확읞할 수 있닀.

5) 304 Not Modified (수정 되지 않음)

큎띌읎얞튞의 cach가 최신 버전의 늬소슀륌 가지고 있얎서 수정되지 않음을 응답윌로썚 나타낎쀀닀.

6) 307 Temporary Redirect

302 Found 응답곌 같은 의믞륌 가지고 있윌나, 읎전에 사용된 HTTP 메서드가 닀음 요청시에도 변하멎 안된닀는 점읎 닀륎닀.

첫 번짞 요청에서 POST 메서드륌 사용하였닀멎, 두 번짞 요청에서도 POST 메서드륌 사용핎알 한닀.

7) 308 Permanent Redirect

301 Moved Permanently 응답곌 같은 의믞륌 가지고 있윌나, 읎전에 사용된 HTTP 메서드가 닀음 요청시에도 변하멎 안된닀는 점읎 닀륎닀.

첫 번짞 요청에서 POST 메서드륌 사용하였닀멎, 두 번짞 요청에서도 POST 메서드륌 사용핎알 한닀.


# Status Codes : 400~499 Client Error Responses (큎띌읎얞튞 였류 응답)

# 큎띌읎얞튞의 요청읎 잘못되었거나, 서버가 요청을 읎핎하지 못했음을 나타냅니닀.

1) 400 Bad Request (잘못된 요청)

큎띌읎얞튞의 요청읎 서버에 전달된 "시점"에 유횚하지 않은 겜우 사용한닀.
큎띌읎얞튞가 구묞을 작성하거나, 필요한 데읎터륌 요청에 포핚시킀지 않았을 때 발생할 수 있닀.

예로 큎띌읎얞튞가 서버에게 잘못된 데읎터 형식윌로 요청을 볎낎거나 필수적읞 파띌믞터륌 누띜한 겜우 400 Bad Request 상태 윔드가 반환될 수 있습니닀. 또한 서버가 요청을 올바륎게 처늬할 수 없는 겜우에도 읎 상태 윔드가 사용될 수 있습니닀.

2) 401 Unauthorized (읞슝되지 않은 요청)

읞슝되지 않은 요청임을 나타냅니닀.

서버가 큎띌읎얞튞의 요청을 읎핎하지만, 요청된 늬소슀에 대한 ì ‘ê·Œ 권한읎 없는 겜우에 사용됩니닀.
큎띌읎얞튞가 요청을 볎낞 겜우, 서버는 큎띌읎얞튞에게 읞슝읎 필요하닀는 메시지륌 핚께 응답윌로 볎냅니닀.
큎띌읎얞튞는 읎후 읞슝 정볎륌 제공하여 ì ‘ê·Œ 권한을 얻얎알 합니닀.

3) 402 Payment Required (서버에 요청한 늬소슀에 접귌시 결제 필요)

디지턞 결제 시슀템에 사용하Ʞ 위한 목적윌로 만듀얎졌윌나, 현재는 사용되고 있지는 않습니닀.

4) 403 Forbidden (ì ‘ê·Œ 권한 없음)

서버가 큎띌읎얞튞의 요청을 읎핎했지만, 큎띌읎얞튞의 읞슝 정볎나 권한읎 유횚하지 않아서 요청된 늬소슀에 접귌을 거부한 겜우에 사용됩니닀.

또한, 큎띌읎얞튞의 읞슝 정볎가 유횚하지 않거나 만료되었을 때에도 읎러한 상태 윔드가 사용될 수 있습니닀.

예로, Ʞ능구현의 토큰읎 있닀.

5) 404 Not Found (요청한 늬소슀륌 찟을 수 없음)

요청한 늬소슀륌 서버에서 찟을 수 없음을 나타낮 쀍니닀.
큎띌읎얞튞가 요청한 URL읎 서버에서 읞식되지 않는 겜우에 사용됩니닀.

슉, 였타나 잘못된 URL을 사용하여 요청했을 때나, 삭제된 늬소슀륌 요청했을 때, 또는 졎재하지 않는 페읎지륌 요청했을 때 등에 발생할 수 있습니닀.

6) 405 Method Not Allowed (요청한 HTTP 메서드 허용 불가)

큎띌읎얞튞가 사용한 HTTP 메서드는 서버에서 지원하지 않는 메서드띌는 것을 나타냅니닀.

예로, 서버에서 특정 URL에 대핮 GET 요청만 허용되도록 섀정한 겜우에는,
큎띌읎얞튞가 핎당 URL에 POST 요청을 볎낎멎 405 Method Not Allowed 상태 윔드가 반환될 수 있닀.
읎는 서버에서 핎당 늬소슀에 대핮 POST 메서드륌 지원하지 않Ʞ 때묞읎닀.

7) 406 Not Acceptable (허용되지 않은 믞디얎타입)

큎띌읎얞튞가 요청한 늬소슀에 대핮 서버가 허용하지 않는 믞디얎 타입을 요청했을 때 사용되는 상태 윔드입니닀.
큎띌읎얞튞가 Accept 헀더륌 통핎 지원하지 않는 믞디얎 타입을 요청했거나,
서버가 요청된 믞디얎 타입을 제공할 수 없는 겜우에 반환합니닀.

예로, 큎띌읎얞튞가 JSON 형식의 데읎터륌 요청했지만 서버에서는 JSON을 지원하지 않고 XML 형식의 데읎터만 제공하는 겜우에는
406 Not Acceptable 상태 윔드가 반환될 수 있습니닀.
또는 큎띌읎얞튞가 특정 읞윔딩을 요청했는데 서버에서 ê·ž 읞윔딩을 지원하지 않는 겜우에도 읎러한 상태 윔드가 발생할 수 있습니닀.

8) 407 Proxy Authentication Required (Proxy 서버 읞슝)

401곌 유사한 의믞륌 가지지만, 프록시에 의한 읞슝읎 필요핚을 나타낞닀.
큎띌읎얞튞가 프록시 서버륌 통핎 요청을 볎낎Ʞ 위핎서는 읞슝읎 필요하닀는 것을 나타낮는 상태 윔드입니닀.

슉, 큎띌읎얞튞가 프록시 서버에서 요구하는 읞슝 정볎륌 제공핎알 원격 서버와의 통신을 읎룰 수 있습니닀.

9) 408 Request Timeout (시간 지연)

서버가 큎띌읎얞튞의 요청을 수행하Ʞ까지의 시간읎 지나서 요청을 처늬하지 못했을 때 사용되는 HTTP 상태 윔드입니닀.
큎띌읎얞튞가 요청을 볎냈지만, 서버가 음정 시간 낎에 요청을 처늬하지 못한 겜우에 발생합니닀.
큎띌읎얞튞는 요청읎 시간 쎈곌되었음을 읞식하고, 닀시 요청을 시도하거나, 넀튞워크 상태륌 확읞하여 묞제륌 핎결핎알 합니닀.

10) 409 Conflict (충돌)

서버가 큎띌읎얞튞의 요청을 처늬할 수 없는 겜우에 사용되는 상태 윔드입니닀.
큎띌읎얞튞의 요청읎 현재 서버의 상태와 충돌읎 발생하여 요청을 성공적윌로 수행할 수 없음을 나타냅니닀.

위 윔드는 죌로 닀음곌 같은 상황에서 사용될 수 있습니닀.

  1. 동시성 충돌: 여러 큎띌읎얞튞가 동시에 같은 늬소슀륌 수정하렀고 할 때, 서버는 읎륌 처늬하는 데 충돌읎 발생할 수 있습니닀.
    예륌 듀얎, 두 큎띌읎얞튞가 같은 데읎터륌 수정하렀고 할 때 각각의 변겜 사항읎 서로 충돌하여 서버가 상태륌 결정할 수 없는 겜우에 위 윔드가 반환될 수 있습니닀.

  2. 늬소슀 상태 충돌: 큎띌읎얞튞가 늬소슀륌 생성하렀고 할 때 읎믞 핎당 늬소슀가 졎재하는 겜우,
    서버는 새로욎 늬소슀륌 생성하는 대신 Ʞ졎 늬소슀륌 수정하거나 닀륞 방법윌로 충돌을 처늬핎알 합니닀.

  3. 데읎터 유횚성 충돌: 큎띌읎얞튞가 유횚하지 않은 데읎터륌 서버에 전달하멎,
    서버는 읎러한 데읎터로 읞핎 요청을 처늬할 수 없는 상태가 되는 겜우가 발생할 수 있습니닀.

11) 410 Gone (졎재했윌나, 현재는 삭제된 늬소슀)

큎띌읎얞튞가 요청한 늬소슀가 영구적윌로 삭제되얎 더 읎상 사용할 수 없음을 나타낮는 HTTP 상태 윔드입니닀.
핎당 늬소슀가 삭제되얎 더 읎상 사용할 수 없닀는 것을 큎띌읎얞튞에게 알렀죌Ʞ 위핎 사용됩니닀.
큎띌읎얞튞는 영구적윌로 삭제된 늬소슀륌 더 읎상 사용하지 않고, 닀륞 유횚한 늬소슀륌 ì°Ÿì•„ 사용핎알 합니닀.

12) 411 Length Required (POST요청 시 특정 헀더륌 포핚하지 않은 겜우)

큎띌읎얞튞가 POST 요청을 볎낌 때 Content-Length 헀더륌 포핚하지 않은 겜우에 발생하는 상태 윔드입니닀.
읎 상태 윔드는 서버가 요청의 바디 크Ʞ륌 알 수 없얎 요청을 처늬할 수 없음을 나타냅니닀.

13) 412 Precondition Failed (전제조걎 불음치)

위 윔드는 서버가 큎띌읎얞튞의 요청을 처늬하Ʞ 전에 요청에 지정된 사전 조걎(precondition)읎 충족되지 않았을 때 사용되는 상태 윔드입니닀.
슉, 큎띌읎얞튞가 특정 조걎을 충족시킀지 않은 상태에서 요청을 볎낞 겜우에 읎 상태 윔드가 반환됩니닀.

위의 사전 조걎은 죌로 요청에 대한 조걎부 요청(Conditional Request)에서 사용됩니닀.
조걎부 요청은 큎띌읎얞튞가 서버에 늬소슀륌 요청할 때, 핎당 늬소슀의 상태나 시간곌 ꎀ렚된 조걎을 핚께 전달하여,
특정 조걎읎 충족되지 않윌멎 요청을 거절하도록 하는 메컀니슘입니닀.

14) 413 Paylord Too Large (요청 크Ʞ 쎈곌)

큎띌읎얞튞가 서버로 볎낎는 요청의 크Ʞ가 서버가 처늬할 수 있는 최대 크Ʞ륌 쎈곌했을 때 사용되는 상태 윔드입니닀. 슉, 큎띌읎얞튞가 요청의 볞묞(payload) 크Ʞ가 서버의 제한을 쎈곌하여 요청을 처늬할 수 없을 때 읎 상태 윔드가 반환됩니닀.

15) 414 URI Too Long (URI 허용Ꞟ읎 쎈곌)

큎띌읎얞튞가 서버로 볎낎는 요청의 URI(Uniform Resource Identifier)가 서버가 처늬할 수 있는 최대 Ꞟ읎륌 쎈곌했을 때 사용되는 상태 윔드입니닀.
큎띌읎얞튞가 요청의 URI가 서버가 처늬할 수 있는 제한 Ꞟ읎륌 쎈곌하여 요청을 처늬할 수 없을 때 읎 상태 윔드가 반환됩니닀.

16) 415 Unsupported Media Type (지원되지 않는 믞디얎 타입)

서버가 큎띌읎얞튞의 요청에 포핚된 믞디얎 타입을 지원하지 않을 때 사용되는 상태 윔드입니닀.
큎띌읎얞튞가 요청의 볞묞에 지원되지 않는 믞디얎 타입을 포핚하여 서버에 요청을 볎낞 겜우에 읎 상태 윔드가 반환됩니닀.

17) 416 Requested Range Not Satisfiable (지정범위 밖의 였류)

큎띌읎얞튞가 서버로 볎낞 요청에 지정된 범위(range)가 만족되지 않을 때 사용되는 상태 윔드입니닀.
큎띌읎얞튞가 요청에 Range 헀더륌 포핚하여 특정 범위의 늬소슀륌 요청했지만,
핎당 범위가 서버가 가지고 있는 늬소슀의 유횚 범위륌 벗얎난 겜우에 읎 상태 윔드가 반환됩니닀.

18) 417 Expectation Failed (Expext 요청 에러)

큎띌읎얞튞가 서버에 Ʞ대(expectation)륌 지정했지만, 서버가 읎러한 Ʞ대륌 만족시킬 수 없을 때 사용되는 상태 윔드입니닀. 읎러한 Ʞ대는 Expect 헀더륌 사용하여 요청 메시지에 포핚됩니닀.

19) 418 I'm a teapot (???)

d장난슀럜게 만듀얎진 상태 윔드로, 싀제로는 HTTP 표쀀에서 사용되지 않습니닀.
위 윔드는 1998년 4월에 만듀얎진 "Hyper Text Coffee Pot Control Protocol (HTCPCP)"띌는 장난 슀펙에서 비롯되었습니닀.

20) 421 Misdirected Request (응답생성 불가능)

HTTP/2 프로토윜에서 큎띌읎얞튞의 요청읎 서버에 잘못 전송되었을 때 사용되는 상태 윔드입니닀.
큎띌읎얞튞는 올바륞 서버에 요청을 닀시 시도핎알 합니닀.
서버는 읎러한 묞제륌 큎띌읎얞튞에게 알늬Ʞ 위핎 421 Misdirected Request 상태 윔드륌 반환합니닀.

21) 429 Too Many Requests (너묎 많은 요청)

큎띌읎얞튞가 특정 시간 동안 너묎 많은 요청을 볎냈을 때 사용되는 상태 윔드입니닀.
위 윔드는 서버가 큎띌읎얞튞의 요청을 제한하고 있음을 알늬는데 사용됩니닀.


# Status Codes : 500~599 Server Error Responses (서버 였류 응답)

# 서버가 유횚한 요청을 수행하지 못했음을 나타낮는 큎래슀읎닀.

1) 500 Internal Server Error (낎부 였류)

서버에서 발생한 낎부적읞 였류로 읞핎 요청을 처늬할 수 없는 상태임을 나타낮는 상태 윔드입니닀.
위 윔드는 서버 잡에서 예Ʞ치 않은 묞제가 발생하여 요청을 처늬하는 동안 였류가 발생했을 때 반환됩니닀.

위 윔드는 죌로 닀음곌 같은 상황에서 발생할 수 있습니닀.

  1. 서버 ìž¡ 윔드 였류: 서버에서 처늬 쀑에 프로귞랚적읞 였류가 발생한 겜우, 예왞가 발생하거나 처늬되지 않은 였류가 있을 수 있습니닀.
  2. 데읎터베읎슀 였류: 서버가 데읎터베읎슀와 상혞 작용하는 동안 였류가 발생할 수 있습니닀.
  3. 시슀템 늬소슀 부족: 서버의 시슀템 늬소슀가 부족하여 요청을 처늬할 수 없는 겜우가 있습니닀.
  4. 왞부 서비슀 였류: 서버가 왞부 서비슀와 통신 쀑에 였류가 발생하는 겜우가 있습니닀.

2) 501 Not Implemented (Ʞ능 지원 였류)

요청받은 Ʞ능읎 서버에서 구현되지 않았음을 나타낮는 상태 윔드입니닀.
큎띌읎얞튞가 서버에게 요청한 동작읎 서버에서 아직 구현되지 않았거나 지원되지 않는 겜우에 읎 상태 윔드가 반환됩니닀.

3) 502 Bad Gateway (응답 받지 못핚)

게읎튞웚읎나 프록시 서버가 큎띌읎얞튞의 요청을 수행하는 도쀑에 유횚하지 않은 응답을 받았을 때 사용되는 상태 윔드입니닀. 위 윔드는 큎띌읎얞튞가 서버로 볎낞 요청을 닀륞 서버로 전달하Ʞ 위핎 게읎튞웚읎나 프록시 서버륌 사용하는 겜우에 흔히 발생합니닀.

위의 상태 윔드가 발생할 수 있는 음반적읞 상황은 닀음곌 같습니닀.

  1. 프록시 서버가 닀욎되거나 응답하지 않는 겜우.
  2. 프록시 서버가 큎띌읎얞튞의 요청을 잘못된 서버로 전달한 겜우.
  3. 게읎튞웚읎 서버가 큎띌읎얞튞의 요청을 처늬하는 도쀑에 서버에서 유횚하지 않은 응답을 받은 겜우.

4) 503 Serviece Unavailable (곌부하 또는 사용불가)

서버가 현재 요청을 처늬할 수 없는 상태임을 나타낮는 상태 윔드입니닀.
읎 상태 윔드는 서버가 음시적읞 곌부하 또는 유지 볎수로 읞핎 요청을 처늬할 수 없는 겜우에 자죌 사용됩니닀.

위의 상태 윔드는 닀음곌 같은 상황에서 발생할 수 있습니닀.

  1. 서버 곌부하: 서버에 너묎 많은 요청읎 동시에 발생하여 서버가 처늬할 수 없는 상태입니닀.
  2. 유지 볎수: 서버가 음시적윌로 유지 볎수 작업을 진행하여 요청을 처늬할 수 없는 상태입니닀.
  3. 서비슀 장애: 서버의 서비슀가 음시적윌로 쀑닚되었거나 닀욎되얎 요청을 처늬할 수 없는 상태입니닀.

5) 504 Gateway Timeout (응답 시간 쎈곌)

큎띌읎얞튞가 서버로 요청을 볎냈지만,
게읎튞웚읎 서버가 음정 시간 낎에 응답을 받지 못핎 요청읎 시간 쎈곌된 상태임을 나타낮는 상태 윔드입니닀.

위 윔드는 죌로 닀음곌 같은 상황에서 발생할 수 있습니닀.

  1. 게읎튞웚읎 서버가 응답하지 않는 겜우.
  2. 게읎튞웚읎 서버가 요청을 처늬하는 도쀑에 시간읎 였래 걞늬는 겜우.
  3. 게읎튞웚읎 서버가 요청을 닀륞 서버로 전달하고, ê·ž 서버가 응답하지 않는 겜우.

6) 508 Loop Detected (묎한 룚프)

큎띌읎얞튞가 서버에게 볎낞 요청에서 룚프(Loop)가 발생한 것을 나타낮는 상태 윔드입니닀.
위 윔드는 서버가 요청 처늬 곌정에서 묎한 룚프에 빠졌음을 알늬는데 사용됩니닀.

7) 510 Not Extended (확장 필요)

서버가 요청받은 HTTP 요청에 대핮 필요한 확장 Ʞ능(extension)읎 서버에 구현되지 않았음을 나타낮는 상태 윔드입니닀.
큎띌읎얞튞가 요청한 동작을 수행하Ʞ 위핎 추가적읞 확장 Ʞ능읎 필요하지만,
서버에는 핎당 Ʞ능읎 구현되얎 있지 않은 겜우에 읎 상태 윔드가 반환됩니닀.

8) 511 Network Authentication Required (넀튞워크 읞슝 필요)

요청한 늬소슀에 접귌하Ʞ 위핎 넀튞워크 수쀀의 읞슝읎 필요핚을 나타낮는 상태 윔드입니닀.
위 윔드는 큎띌읎얞튞가 요청한 늬소슀에 접귌하Ʞ 위핎 넀튞워크 읞슝읎 필요한 겜우에 사용됩니닀.


묌론 위의 몚든 Status 윔드륌 사용핎볎진 않았닀.

낎가 죌로 사용한 윔드듀은 200, 201, 400, 401, 403, 409, 412, 500 정도가 있닀.

낎가 에러핞듀링을 통핎서 특정 Status 윔드륌 배출할 때, 의믞륌 몚륎고 쓰고 있닀는 걞 알게되었닀.

귞래서 공부찚원에서 ì–Žë–€ 윔드듀읎 있는지 삎펎볎았고, 앞윌로도 작업을 하멎서 읎럎때는 ì–Žë–€ 윔드륌 사용하멎 적합할까? 륌 떠올늬게 된닀멎 여Ʞ에 듀얎와서 찞고륌 많읎 하게 될 것 같닀.

찞고륌 하멎서 Ʞ억에 낹는 부분듀은 ê·ž 때 ê·ž 때 예시로 핎당 윔드 아래에 작성핎 나가는 것도 좋은 방안읎띌는 생각읎 ë“ ë‹€.

#HTTP_Status_Codes #에러핞듀링 #예왞처늬 #에러윔드 #상태윔드

찞고묞서1 / 찞고묞서2 / 찞고묞서3 / 찞고묞서4