본문 바로가기

Programming

[HTTP] 상태 코드 정리 (200, 300, 400, 500)

200 번대

요청에 대한 응답 성공.

  • 201 Created
    • 요청에 의해 리소스가 생성된 경우
    • 응답 헤더의 Location 필드에 생성된 리소스 식별값 응답
  • 202 Accepted
    • 요청을 받았으나 아직 처리되지 않은 경우
    • batch 작업 등
  • 204 No Content
    • 요청에 대한 작업을 완료했지만 응답할 content가 없는 경우
    • 저장 작업 등

300 번대

리다이렉션 필요한 경우로, 응답 헤더의 location 필드 위치로 브라우저는 리다이렉트 함.

  • 301 Moved Permanently
    • 해당 리소스 영구적 이동
    • body 데이터 제거 및 GET 요청으로 변할 수 있음
  • 302 Found
    • 해당 리소스 일시적 이동
    • 301과 동일
  • 303 See Other
    • 해당 리소스 일시적 변경
    • GET 요청으로 변환하여 리다이렉트
  • 304 Not Modified
    • 캐시된 리소스 확인용도
    • 클라이언트에 캐시된 리소스가 변경되지 않은 경우
    • 응답에 body 미포함
  • 307 Temporary Redirect
    • 해당 리소스 일시적 변경
    • body와 요청 http 메소드 유지하여 리다이렉트

400 번대

클라이언트의 요청 오류로 똑같은 요청을 반복하여 보내도 동일한 오류.

  • 400 Bad Request
    • 클라이언트의 요청 스펙이 잘못되어 서버가 요청을 처리 할 수 없는 경우
  • 401 Unauthorized
    • 요청한 리소스에 대해 클라이언트가 인증되지 않은 경우
    • 응답 헤더의 WWW-Authenticate 필드에 인증 방식 기재 필요
    • 단순 권한 없는 경우 403 이용
  • 403 Forbidden
    • 서버에서 해당 요청에 대한 거부
    • 요청에 대한 클라이언트의 인증은 되었지만, 권한이 없는 경우
  • 404 Not Found
    • 해당 요청에 대한 리소스 없음
    • 리소스를 숨기거나 권한이 없는경우에도 이용

500 번대

서버 문제로 인한 오류.

  • 500 Internal Server Error
    • 서버 내부 오류
  • 503 Service Temporarily Unavailable
    • 일시적 서비스 이용 불가 상태
    • 서버 과부하 및 서버 작업 등
    • 예상 가능 시, 응답 헤더에 Retry-After 필드(날짜 또는 초 등)로 복구 정보 포함 가능

 

반응형