HTTP 응답 상태코드에대해서 정리해보려고한다.
우선 HTTP 상태코드는 다섯 가지의 클래스로 구분되며 전체 코드는 3자리를 가지고있으며 첫번째 숫자는
클래스를 의미한다.
- 1XX (조건부 응답)
- 2XX (성공)
- 3XX (리다이렉션)
- 4XX (요청 오류)
- 5XX (서버 오류)
1XX
보통 100번대의 상태코드를 접하기는 쉽지않다
- 100 - Continue
서버에서 요청의 첫 번째 부분을 받고 나머지를 기다리고있음을 의미한다. - 101 - Switching Protocol
클라이언트가 서버에 프로토콜 전환을 요청하여 서버가 승인을 진행하고 있는 상태 - 102 - Processing
2XX
클라이언트가 요청한 동작 및 작업을 서버가 성공적으로 수행한 상태를 의미한다.
- 200 - OK
- 201 - Created
- 202 - Accepted
- 203 - Non-Authoritative Information
- 204 - No-Content
- 205 - Reset Content
- 206 - Partial Content
3XX
클라이언트는 요청을 마치기 위해서 추가적인 조치 및 동작이 필요한 상태를 의미한다
- 300 - Multiple Choice
요청에 대해서 하나 이상의 응답을 해야하는 상태 - 301 - Moved Permanently
요청한 리소스의 URI가 변경되었음을 의미 - 302 - Found
URI가 일시적으로 변경되었음을 의미 - 303 - See Other
클라이언트가 요청한 리소스를 다른 URI에서 GET요청을 통해 얻어야할때 서버가 클라이언트로 보낸 응답 - 304 - Not Modified
캐시를 목적으로 사용 - 305 - Use Proxy
요청한 응답은 프록시를 통해서 접속해야하는것을 의미 - 306 - Unused
사용되지않음 - 307 - Temporary Redirection
현재 서버가 다른 위치의 페이지로 요청에 응답하고 있지만 요청자는 향후 요청 시 원래 위치를 계속 사용해야 함 - 308 - Permanent Redirection
4XX
클라이언트가 서버에 보낸 요청이 잘못된 상태를 의미한다.
- 400 - Bad Request
잘못된 요청으로 서버가 인식하지 못한 상태 - 401 - Unauthorized
Unauthrized로 표기되어있지만 실제로는 Unathenticated에 더 가깝다. 즉, 요청에대해서 인증이 필요할때 나오는 상태코드이다. - 402 - Payment Required
추후 디지털 결제 시스템에 사용을 위해 예약된 상태코드. - 403 - Forbidden
서버가 요청을 거부한 상태, 클라이언트가 리소스에 대한 권한을 가지고 있지 않은상태 - 404 - Not Found
서버가 요청한 페이지, 리소스를 찾을 수 없는 상태 - 405 - Method Not Allowed
요청에 사용된 메서드를 사용할 수 없는 상태
예) POST방식으로 요청받는 서버에 GET으로 요청했을 경우 - 406 - Not Acceptable
요청한 콘텐츠 타입으로 응답할 수 없을때 - 407 - Proxy Authentication Required
401과 비슷하지만 Proxy를 위한 인증 - 408 - Request Timeout
서버의 요청대기가 시간을 초과한 경우 발생 - 409 - Conflict
서버의 상태와 요청이 충돌한 경우
나머지 코드들은 아래에서 확인
5XX
클라이언트가 보낸 요청을 서버에서 수행하지 못한 경우의 상태를 의미한다
- 500 - Internal Server Error
서버에 오류가 발생하여 요청을 수행할 수 없는 상태 - 501 - Not Implemented
서버가 요청을 수행할 수 있는 기능이 없는 상태 - 502 - Bad Gateway
서버가 게이트웨이로부터 잘못된 응답을 받았을 경우 - 503 - Service Unavailable
서버가 요청을 수행할 수 없는 상태로 서버 과부하 등 서버 작동이 중단된 상태 - 504 - Gateway Timout
상위 서버에서 제때 요청을 받지 못한 상태 - 505 - HTTP Version Not Supported
서버가 요청에 사용된 HTTP 프로토콜 버전을 지원하지 않는 경우
나머지 코드들은 아래에서 확인
'기타' 카테고리의 다른 글
CI/CD의 개념 (0) | 2021.10.20 |
---|---|
MVC패턴이란??? (0) | 2021.09.10 |
REST API란 (0) | 2021.08.30 |