728x90
HTTP 응답 상태 코드
클라이언트가 HTTP 요청을 보내면 서버는 데이터와 함께 상태 코드로 요청에 대한 정보를 돌려준다.
Information 1xx
100 Continue | 지금까지 상태가 괜찮으며 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 알림 |
101 Switching Protocol | 클라이언트가 보낸 Upgrade 요청 헤더에 대한 응답에 들어가며 서버에서 프로토콜을 변겨할 것임을 알림 |
Successful 2xx
이 클래스의 응답 코드는 클라이언트 요청에 대해 수신, 이해, 수락이 성공적이었다고 나타낸다.
200 ok | 요청이 성공적으로 되었고, HTTP 메소드에 따라 의미가 달라진다. GET : 리소스를 불러와서 메시지 바디에 전송 HEAD : 개체 헤더가 메시지 바디에 있음 PUT/POST : 수행 결과에 대한 리소스가 메시지 바디에 전송됨 TRACE : 메시지 바디는 서버에서 수신한 요청 메시지를 포함 |
201 Created | 요청 결과로 새로운 리소스가 생성되었음을 알림, 일반적으로 POST, PUT 요청 이후에 따라온다. |
202 Accepted | 요청을 수신하였지만, 그에 응하여 행동할 수 없음 |
203 Non-Authoritative Information | 이 응답 코드는 돌려받은 메타 정보 세트가 오리진 서버의 것과 일치하지 않지만 로컬이나 서드 파티 복사본에서 모아졌음을 의미 |
204 No content | 요청에 대해서 보내줄 수 있는 콘텐츠가 없지만, 헤더는 의미있을 수 있음 |
205 Reset content | 이 응답 코드는 요청을 완수한 이후에 사용자 에이전트에게 이 요청을 보낸 문서 뷰를 리셋하라고 알림 |
206 Partial content | 이 응답 코드는 클라이언트에서 복수의 스트림을 분할 다운로드를 하고자 범위 헤더를 전송했기 때문에 사용 |
Redirection 3xx
이 상태 코드 클래스는 요청을 수행하기 위해 사용자 에이전트가 추가 작업을 수행해야 함을 나타낸다.
300 Multiple choice | 요청에 대해서 하나 이상의 응답이 가능. 사용자 에이전트 또는 사용자는 그중에 하나를 반드시 선택해야 한다. |
301 Moved Permanently | 요청한 리소스의 URI가 변경되었음을 의미 |
302 Found | 요청한 리소스의 URI가 일시적으로 변경되었음을 의미 |
303 See other | 클라이언트가 요청한 리소스를 다른 URI에서 GET 요청을 통해 얻어야 할 때, 서버가 클라이언트에게 직접 보내는 응답 |
304 Not modified | 캐시 목적으로 사용. 클라이언트에게 응답이 수정되지 않았음을 알려주며, 클라이언트는 계속 캐시된 버전을 사용할 수 있음 |
307 Temporary Redirect | 클라이언트가 요청한 리소스가 다른URI에 있으며, 이전 요청과 동일한 메소드를 사용하여 요청해야할 때, 서버가 클라이언트에 이 응답을 직접 보냄 |
308 Permanent Redirect | 요청한 리소스가 HTTP 응답 헤더의 Location에 명시된 영구히 다른 URI에 위치하고 있음을 의미. |
Client error 4xx
이 상태 코드 클래스는 클라이언트가 오류를 범한 것으로 보이는 경우를 대상으로 함.
400 Bad request | 잘못된 문법으로 인하여 서버가 요청을 이해할 수 없음을 의미 |
401 Unauthorized | HTTP 표준에서는 "미승인"을 명확히 하고 있지만, 의미상 이 응답은 "미인증"을 의미. 클라이언트는 요청한 응답을 받기 위해서는 반드시 스스로를 인증해야 함 |
403 Forbidden | 클라이언트가 콘텐츠에 접근할 권리를 가지고 있지 않을 때 거절을 위한 응답 |
404 Not found | 요청한 리소스를 찾을 수 없음을 의미. 인증받지 않은 클라이언트로부터 리소스를 숨기기 위하여 이 응답을 403 대신에 전송할 수도 있음 |
405 Method not allowed | 요청한 메소드는 서버는 알고 있지만, 제거되었고 사용할 수 없음을 알림. 필수적인 메소드 GET과 HEAD는 제거될 수 없으며 이 에러 코드를 리턴할 수 없음 |
409 Conflict | 요청한 상태가 서버와 충돌된 상태를 표시. 즉, 중복된 데이터를 요청한 경우이다. |
429 Too many requests | 사용자가 지정된 시간에 너무 많은 요청을 보낸 경우 |
더 자세한 에러 코드는 참고자료에 포함된 링크를 참조하기 바랍니다!
Server error 5xx
이 상태 코드 클래스는 서버가 요청을 잘못했거나, 수행할 수 없는 경우를 나타낸다. 서버는 오류 상황에 대한 설명과 일시적인 상태인지 영구적인 상태인지 여부를 포함하는 엔티티를 포함해야 한다.
500 Internal server error | 서버에 오류가 발생하여 요청을 수행할 수 없을 때 |
501 Not implemented | 서버에 요청을 수행할 수 있는 기능이 없을 경우, 예를 들어 요청 메소드를 인식하지 못할 경우 표시 |
502 Bad gateway | 서버가 게이트웨이나 프록시 역할을 하고 있거나 또는 업스트림 서버에서 잘못된 응답을 받았을 경우 표시 |
503 Service unavailable | 서버가 오버로드되었거나 유지관리를 위해 다운되었기 때문에 현재 서버를 사용할 수 없음 |
504 Gateway timeout | 서버가 게이트웨이나 프록시 역할을 하고 있거나 또는 업스트림 서버에서 제때 요청을 받지 못했을 경우 |
505 HTTP version not supported | 요청에 사용된 HTTP 프로토콜 버전을 지원하지 않음 |
508 Loop detected | 요청을 처리하는 동안 무한 루프를 감지 |
510 Not extended | 서버가 요청을 이행하려면 요청에 대한 추가 확장이 필요 |
511 Network authentication required | 클라이언트가 네트워크 액세스를 얻기 위해 인증을 받아야 할 필요가 있음을 나타냄 |
참고자료
https://developer.mozilla.org/ko/docs/Web/HTTP/Status
https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C
'독서 > 네트워크' 카테고리의 다른 글
누가 구글을 죽였나 🔪 (a.k.a. CVE-2023-44487 분석 해보기) (0) | 2024.01.04 |
---|---|
전송 계층 (0) | 2021.12.30 |
응용 계층 (0) | 2021.12.24 |