[Network] HTTP Status Code
2022. 2. 6. 18:00ㆍMajor`/컴퓨터 네트워크
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를 얻기 위해 인증할 필요가 있음을 의미 |