-> 블로그 이전

[Network] HTTP Status Code

2022. 2. 6. 18:00Major`/컴퓨터 네트워크

1xx : Information Responses

  • Request를 받았고 Process를 계속 진행
주요 Status Code Status Text
100 Continue
- 진행 중임을 의미한다
- 현재까지의 진행상태에 문제가 없다
- Client가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 된다
101 Switching Protocols
- Client에 의해 보낸 업그레이드 요청 헤더에 대한 응답
- Server에서 Protocol을 변경할 것임을 알려준다
- Websocket 프로토콜 전환 시 사용
102 Processing (WebDAV)
- Server가 Request를 수신했고, 이를 처리하고 있지만 아직 제대로된 Response를 할 수 없을 때

 

2xx : Successful Responses

  • Request를 성공적으로 받았고, 인식했고, 수용함
주요 Status Code Status Text
200 OK
- Request가 성공적으로 처리
201 Created
- Request가 성공적이였고, 그에 대한 결과로 새로운 Resource가 생성되었다
- POST 요청 / PUT 요청
202 Accepted
- Request를 수신했지만, 그에 따라 Action할 수 없다
204 No Content
- Request에 대해 보내줄 수 있는 Content가 없지만, Header는 의미가 있다
- User-Agent는 Resource가 Cache된 Header를 새롭게 업데이트할 수 있다
206 Partial Content
- Client에서 복수의 Stream을 분할 다운로드를 하고자 범위 헤더를 전송했기 때문에 사용
- Client가 이어받기를 시도하면 웹서버가 이에 대한 응답코드와 함께 Range 헤더에 명시된 Data의 부분부터 전송을 시작한다

 

3xx : Redirection Messages

  • Request 완료를 위해 추가 작업 조치가 필요하다
주요 Status Code Status Text
300 Multiple Choice
- Request에 대해서 하나 이상의 Response가 가능하다
- User-Agent or User는 그 중 반드시 하나를 선택해야 한다
301 Moved Permanently
- 요청한 Resource의 URL이 변경되었음을 의미
302 Found
- 요청한 Resource의 URL이 일시적으로 변경되었음을 의미
303 See Other
- Client가 요청한 Resource를 다른 URL에서 GET 요청을 통해 얻어야 할 때, 서버가 클라이언트로 직접 보내는 응답
304 Not Modified
- 캐시를 목적으로 사용한다
- Client에게 Response가 아직 수정되지 않았음을 알려준다
305 Use Proxy
- 반드시 Response는 프록시를 통해서 접속해야 하는 것을 알려준다

 

4xx : Client Error Responses

  • Request 문법이 잘못되었거나, Request를 처리할 수 없다
주요 Status Code Status Text
400 Bad Request
- 잘못된 문법으로 인해서 서버가 이해할 수 없음을 의미
401 Unauthorized
- Client가 Response를 받기 위해서 스스로를 인증해야 한다
- 서버는 클라이언트가 누군지 모른다
403 Forbidden
- Client가 해당 Content에 접근할 권리를 가지고 있지 않다
- 서버는 클라이언트가 누군지 알고 있다
404 Not Found
- 서버가 요청한 Resource를 찾을 수 없을 경우 :: 브라우저에서 알려지지 않은 URL을 의미
405 Method Not Allowed
- 요청한 Method는 서버에서 알고 있지만, 해당 Method는 제거되었고 사용할 수 없다
- GET, HEAD는 이 Status Code를 return할 수 없다
407 Proxy Authentication Required
- 프록시에 의해 완료된 인증이 필요하다
- 401과 비슷
409 Conflict
- Request가 현재 서버의 상태와 충돌될 경우
410 Gone
- 해당 Request Content는 서버에서 영구적으로 삭제되었다
- 전달해 줄 수 있는 주소 역시 존재하지 않는다
424 Failed Dependency (WebDAV)
- 이전 Reqeust가 실패했기 때문에, 현재 Request 또한 실패하였다
429 Too Many Requests
- User가 지정된 시간에 너무 많은 Request를 보냈다
451 Unavailable for Legal Reasons
- User가 Request한 것은 정부에 의해 검열된 불법적인 Resource이다

 

5xx : Server Error Responses

  • Server가 유효한 Request에 대한 충족을 실패
주요 Status Code Status Text
500 Internal Server Error
- 웹 사이트 서버에 문제가 있음을 의미
- 서버는 정확한 문제에 대해 설명할 수 없다
501 Not Implemented
- 서버가 Request를 수행하는 데 필요한 기능을 지원하지 않는다
502 Bad GateWay
- 서버가 게이트웨이로부터 잘못된 Response를 수신했음을 의미
503 Service Unavailable
- 서버가 Request를 처리할 준비가 되지 않았다
- 유지보수를 위해 작동이 중단되거나 과부하가 걸린 서버
504 Gateway Timeout
- 인터넷상의 서버 간의 네트워크 오류 or 실제 서버의 문제
505 HTTP Version Not Supproted
- 서버에서 지원하지 않는 HTTP 버전을 Client가 요청한 경우
508 Loop Detected (WebDAV)
- 서버가 Request를 처리하는 동안 무한 루프를 감지한 경우
511 Network Authentication Required
- Client가 Network Access를 얻기 위해 인증할 필요가 있음을 의미