[HTTP] HTTP 상태 코드 정리 표

Yujeong·2023년 12월 12일
0
post-thumbnail

🗒️ [HTTP] HTTP Status란?

목차

  1. 1xx: 정보 제공
  2. 2xx: 성공(Successful)
  3. 3xx: 리다이렉션(Redirection)
  4. 4xx: 클라이언트 에러(Client Error)
  5. 5xx: 서버 에러(Server Error)

1xx: 정보 제공(Informational)

클라이언트의 요청을 받았으며, 작업을 계속 진행하고 있다.

상태코드설명한국어 뜻의미
 100Continue계속클라이언트는 요청 헤더에 ‘Expect: 100-continue’를 보내고 서버는 이를 처리할 수 있으면 이 코드로 응답합니다.
101Switching Protocols프로토콜 전환프로토콜을 HTTP 1.1에서 업그레이드할 때 Upgrade 응답 헤더에 표시합니다. 현재는 HTTP 1.1이 최신이므로 사용할 일이 없습니다.
102Processing처리 중서버가 처리하는 데 오랜 시간이 예상되어 클라이언트에서 타임 아웃이 발생하지 않도록 이 응답 코드를 보냅니다.
103~199
Unassigned
현재 할당되지 않은 상태 코드입니다.

2xx: 성공(Successful)

클라이언트가 요청한 동작을 성공적으로 처리하였다.

상태코드설명한국어 뜻의미
200OK성공서버가 요청을 성공적으로 처리하였습니다.
201Created생성됨요청 성공해서 새로운 리소스가 생성되었습니다. 생성된 리소스는 응답의 Location 헤더 필드로 식별합니다.
202Accepted허용됨요청은 접수하였지만, 처리가 완료되지 않았습니다. 배치 처리같은 곳에서 사용한다.
203Non-Authoritative Information신뢰할 수 없는 정보응답 헤더가 오리지널 서버로부터 제공된 것이 아닙니다. 프록시 서버가 응답 헤더에 주석을 덧붙인 경우입니다.
204No Content콘텐츠
없음
서버가 요청을 성공적으로 수행하였지만, 클라이언트에게 돌려줄 콘텐츠가 없습니다. 응답에는 헤더만 있고 바디는 없습니다.
save 버튼의 결과나 DELETE 요청에 대한 응답에 많이 사용됩니다.
205Reset Conent콘텐츠
재설정
요청을 성공적으로 수행하였으며, 브라우저의 화면을 리셋합니다.
예를 들어, 브라우저가 입력 폼을 보여 주고 있을 때 이 응답 코드를 받으면 브라우저는 모든 입력 항목을 리셋하고 재입력할 수 있는 상태가 됩니다.
206Partial Content일부
콘텐츠
응답 헤더의 Content-Range에 응답 콘텐츠의 범위를 기록합니다.
예를 들어, 1,500 바이트의 리소스 중에서 처음의 500바이트만을 보낼 때 사용할 수 있습니다.
207Multi-Status다중 상태처리 결과의 스테이터스가 여러 개입니다.
207 응답은 성공을 뜻하지만, 각각의 처리 결과가 성공인지는 바디를 봐야 알 수 있습니다.
208Already Reported이미 보고됨리소스가 이전에 같은 메서드로 보고되었음을 나타냅니다.
예를 들어, 리소스에 대한 컬렉션의 부분 집합을 만드는 데 사용된 경우 해당 부분 집합은 이미 이전에 리소스로 보고되었음을 나타낼 수 있습니다.
209~ 225Unassigned현재 할당되지 않은 상태 코드입니다.
226IM Used인스턴스 조작 사용됨서버가 요청을 성공적으로 수행하였으며, 응답에 하나 이상의 인스턴스 조작이 현재 인스턴스에 적용되었습니다.
227~299
Unassigned
현재 할당되지 않은 상태 코드입니다.

🗒️ 배치 처리: 특정 시간 범위 내에서 데이터를 일괄 처리하는 것으로, 빅데이터의 처리 방식 중 하나이다.

3xx: 리다이렉션(Redirection)

클라이언트는 요청을 처리하기 위해 추가 동작을 취해야 한다.

  • 영구 리다이렉션: 301, 308
  • 일시적인 리다이렉션: 302, 303, 307
  • 기타 리다이렉션: 300, 304
상태코드설명한국어 뜻의미
300Multiple
Choices
여러
선택
항목
지정한 URI에 대해서 콘텐츠 협상을 수행한 결과 서버에서 콘텐츠를 결정하지 못하고 클라이언트에게 복수 개의 링크를 응답할 때 사용합니다.
301Moved
Permanently
영구
이동
지정한 리소스가 새로운 URI로 이동하였습니다.
이동할 곳의 새로운 URI는 응답 헤더 Location에 기록합니다. 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있습니다.
302Found다른
위치
찾음
요청한 리소스를 다른 URI에서 찾았습니다.
요청한 URI가 없으므로 클라이언트 메소드를 그대로 유지한 채 응답 헤더 Location에 표시된 다른 URI로 요청을 재송신할 필요가 있습니다.
리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있습니다. 302의 의미를 정확하게 개선해서 307을 정의하였으므로 이 응답 코드의 사용은 권장하지 않지만, 실무에서 많이 사용합니다.
303See
Other
다른
위치
보기
다른 위치로 요청하세요.
요청에 대한 처리 결과를 응답 헤더 Location에 표시된 URI에서 GET으로 취득할 수 있습니다. 302와 기능이 같으며, 리다이렉트시 요청 메서드가 GET으로 변경합니다.
브라우저의 폼 요청을 POST로 처리하고 그 결과 화면으로 리다이렉트시킬 때 자주 사용하는 응답 코드입니다.
304Not
Modified
수정되지 않음마지막 요청 이후 요청한 페이지는 수정되지 않습니다.
If-Modified-Since와 같은 조건부 GET, HEAD 요청일 때 지정한 리소스가 갱신되지 않았음을 알려줍니다. 로컬PC에 저장된 캐시를 재사용하며, 이 응답 코드에는 바디를 포함하면 안됩니다.
305Use Proxy프록시 사용지정한 리소스에 액세스하려면 프록시를 통해야 합니다. 응답 헤더 Location에 프록시의 URI를 기록합니다.
306(Unused)예전 버전에서 사용하다가 현재는 사용하지 않는 상태 코드입니다.
307Temporary
Redirect
임시 리다이렉션임시로 리다이렉션 요청이 필요합니다.
요청한 URI가 없으므로 클라이언트 메서드를 그대로 유지한 채 응답 헤더 Location에 표시된 다른 URI로 요청을 재송신할 필요가 있습니다. 클라이언트는 향후 요청 시 원래 위치를 계속 사용해야 합니다. 리다이렉트시 요청 메서드와 본문을 유지해야합니다. 302의 의미를 정확하게 재정의해서 HTTP/1.1의 307 응답으로 추가되었습니다.
308Permanent
Redirect
영구 리다이렉션301과 기능은 같지만, 리다이렉트시 요청 메서드와 본문을 유지합니다. 처음 POST를 보내면 리다이렉트도 POST를 유지합니다.
309~399
Unassigned
현재 할당되지 않은 상태 코드입니다.

4xx: 클라이언트 에러(Client Error)

클라이언트의 요청에 오류가 있다.

상태코드설명한국어 뜻의미
400Bad Request잘못된 요청요청의 구문이 잘못되었습니다.
클라이언트가 모르는 4xx 계열 응답 코드가 반환된 경우에도 클라이언트는 400과 동일하게 처리하도록 규정하고 있습니다.
401Unauthorized권한
없음
지정한 리소스에 대한 액세스 권한이 없습니다.
응답 헤더 WWW-Authenticate에 필요한 인증 방식을 지정합니다.
402Payment Required결제
필요
지정한 리소스를 액세스하기 위해서는 결제가 필요합니다.
이 응답 코드는 실제로는 사용되지 않습니다.
403Forbidden금지됨지정한 리소스에 대한 액세스가 금지되었습니다.
401 인증 처리 이외의 사유로 리소스에 대한 액세스가 금지되었음을 의미합니다. 리소스의 존재 자체를 은폐하고 싶은 경우는 404 응답 코드를 사용할 수 있습니다.
404Not Found찾을 수 없음지정한 리소스를 찾을 수 없습니다.
405~
HTTP Status Code Registry 참고

5xx: 서버 에러(Server Error)

클라이언트의 요청은 유효하지만, 서버가 처리에 실패하였다.

상태코드설명한국어 뜻의미
500Internal Server Error내부 서버 오류서버에 에러가 발생하였습니다.
클라이언트가 모르는 5xx 계열의 응답 코드가 반환된 경우에도 클라이언트는 500과 동일하게 처리하도록 규정하고 있습니다.
501Not Implemented구현되지 않음요청한 URI의 메소드에 대해 서버가 구현하고 있지 않습니다.
502Bad Gateway불량 게이트웨이게이트웨이 또는 프록시 역할을 하는 서버가 그 뒷단의 서버로부터 잘못된 응답을 받았습니다.
503Service Unavailable서비스 제공불가서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리할 수 없습니다.
Retry-After 헤더 필드로 얼마 뒤에 복구되는 지 보낼 수 있습니다.
504~ 511HTTP Status Code Registry 참고
512~ 599
Unassigned
현재 할당되지 않은 상태 코드입니다.

참고
모든 개발자를 위한 HTTP 웹 기본 지식
[웹 프로그래밍] HTTP 상태 코드 표(100 ~ 500) 전체 요약 정리
Hypertext Transfer Protocol (HTTP) Status Code Registry

profile
공부 기록

0개의 댓글