Post

Http Status Code 정리

Http Status Code 정리

1xx (Informational)

  • 요청이 수신되어 처리 중
  • 사실 상 무의미하므로 생략

2xx (Successful)

  • 클라이언트의 요청을 성공적으로 처리

200 OK

  • 요청 성공

201 Created

  • 요청 성공해서 새로운 리소스가 생성됨
  • 생성된 리소스는 응답의 Location 헤더 필드에 포함되어야 한다. ex) Location: /users/1

202 Accepted

  • 요청이 접수되었으나 처리가 완료되지 않았음
  • 비동기 처리 시 사용(배치)

204 No Content

  • 요청은 성공했지만 응답 본문에 데이터가 없음
  • 클라이언트가 서버의 상태를 업데이트하는 경우 사용

3xx (Redirection)

  • 클라이언트가 요청을 완료하기 위해 추가 동작이 필요
  • 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면 자동 리다이렉트
  • 302 Found 를 자주 사용

영구이동

  • 요청한 리소스가 영구적으로 새로운 URI에 옮겨졌음

301 Moved Permanently

  • 리다이렉트 시 요청 메서드가 GET으로 변경됨 ex> Post -> Get
  • 영구 리다이렉션 시 자주 사용

308 Permanent Redirect

  • 301과 동일하지만 요청 메서드가 변경되면 안됨 ex> Post -> Post
  • 거의 사용 안함

임시이동

  • 요청한 리소스가 일시적으로 새로운 URI에 옮겨졌음

302 Found

  • 리다이렉트 시 요청 메서드가 GET으로 변경될 수 있음
  • 대부분의 경우 사용

303 See Other

  • 302와 동일하지만 요청 메서드가 GET으로 변경됨

308 Temporary Redirect

  • 302와 동일하지만 요청 메서드가 변경되면 안됨 ex> Post -> Post

기타

304 Not Modified

  • 캐시를 목적으로 자주 사용
  • 클라이언트에게 리소스가 수정되지 않았음을 알려줌
  • 클라이언트는 로컬 PC에 저장된 리소스를 사용(캐시로 리다이렉트)

4xx (Client Error)

  • 클라이언트의 요청에 잘못된 문법 등으로 서버가 요청을 수행할 수 없음

400 Bad Request

  • 클라이언트의 요청이 잘못되었음
  • 요청 구문, 메시지 등등이 잘못되었음

401 Unauthorized

  • 인증이 필요한 리소스에 접근했으나 인증이 되지 않음
  • WWW-Authenticate 헤더 필드를 사용해 인증 방법을 설명

403 Forbidden

  • 서버가 요청을 이해했지만 승인을 거부함
  • 주로 인증 자격 증명은 있지만 접근 권한이 불충분한 경우 사용

404 Not Found

  • 요청 리소스를 찾을 수 없음

5xx (Server Error)

  • 서버가 요청을 처리하지 못함

500 Internal Server Error

  • 서버 문제로 오류 발생
  • 애매하면 500 오류

503 Service Unavailable

  • 서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리할 수 없음
  • Retry-After 헤더 필드로 얼마뒤에 복구되는지 보낼 수 있음
This post is licensed under CC BY 4.0 by the author.