본문 바로가기

기타

[HTTP]HTTP 상태코드

클라이언트가 HTTP 메서드로 요청을 보낼 경우에 서버 쪽에서는 그에 대한 처리 상태에 대한 응답을 각각의 코드에 맞게 돌려준다.

 

  • 1xx(Informational) : 요청이 수신되어 처리 중
  • 2xx(Successful) : 요청 정상 처리
  • 3xx(Redirection) : 요청을 완료하려면 추가 행동이 필요
  • 4xx(Clent Error) : 클라이언트 오류
  • 5xx(Server Error) : 서버 오류

그럼 각각의 상태코드에 대해 자세히 알아보자

 

1xx(Informational)

거의 사용하지 않는다.

 

2xx(Successful)

  • 200 : OK, 요청 성공
  • 201 : Created, 요청 성공해서 새로운 리소스 생성 -> 생성된 리소스는 응답의 Location 헤더 필드로 식별
  • 202 : Accepted, 요청은 접수되었지만 처리가 완료되지 않음 -> 배치 처리 같은 곳에서 사용
  • 204 : No Content, 서버가 요청을 성공적으로 수행했지만 응답 페이로드 본문에 보낼 데이터가 없음

 

3xx(Redirection)

  • 영구 리다이렉션
    • 리소스의 URI가 영구적으로 이동 
    • 301 : Moved Permanently, 리다이렉트 시 요청 메서드가 GET으로 변하고 본문이 제거될 수 있음
    • 308 : Permanent Redirect, 리다이렉트 시 요청 메서드와 본문 유지(처음에 POST를 보내면 리다이렉트도 POST 유지)
  • 일시 리다이렉션
    • 리소스의 URI가 일시적으로 변경 
    • 302 : Found, 리다이렉트 시 요청 메서드가 GET으로 변하고 본문이 제거될 수 있음
    • 307 : Temporary Redirect, 리다이렉트 시 요청 메서드와 본문 유지
    • 303 : See Other, 리다이렉트 시 요청 메서드가 GET으로 변경
  • 기타 리다이렉션
    • 300 : Multiple Choices, 잘 사용하지 않음
    • 304 : Not Modified, 클라이언트에게 리소스가 수정되지 않았음을 알려준다.

 

4xx(Client Error)

  • 400 : Bad Request, 클라이언트가 잘못된 요청을 해서 서버가 처리할 수 없음
  • 401 : Unauthorized, 클라이언트가 해당 리소스에 대한 인증이 필요함
  • 403 : Forbidden, 서버가 요청을 이해했지만 승인을 거부함
  • 404 : Not Found, 요청 리소스가 서버에 없음

 

5xx(Server Error)

  • 500 : Internal Server Error, 서버 내부 문제로 오류 발생
  • 503 : Service Unavailable, 서비스 이용 불가

이처럼 HTTP 상태코드에는 여러 가지가 있으며, 상태코드를 하나하나 알지 못하더라도 상태코드의 제일 앞자리 숫자를 통해 상태코드가 어떤 것을 의미하는지 대략적으로는 파악이 가능하다.

 


출처 : 인프런 우아한 형제들 최연소 기술이사 김영한의 스프링 완전 정복(모든 개발자를 위한 HTTP 웹 기본 지식)

'기타' 카테고리의 다른 글

[HTTP]HTTP 메서드  (0) 2023.04.07
[HTTP]HTTP의 정의, 특징 및 메시지의 구조  (0) 2023.04.01
[HTTP]URI URL URN  (0) 2023.04.01
[Lombok] IntelliJ Lombok 설치, 설정  (0) 2023.03.26