STUDY/TIL

HTTP 상태코드

개미606 2021. 5. 11. 10:31

자주 자용되는 코드들만 정리

Http Status Code

Http 상태 코드는 Http 요청이 성공적으로 완료되었는지 여부를 나타낸다.
클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능!
상태 코드는 다섯 가지로 분류할 수 있다.

  • 1xx (Informational)
  • 2xx (Successful)
  • 3xx (Redirection)
  • 4xx (Client Error)
  • 5xx (Server Error)

1xx

요청이 수신되어 처리 중. 거의 사용하지 않음

2xx - 성공

클라이언트의 요청을 성공적으로 처리했을 때 사용

  • 200 OK
  • 201 Created : 요청이 성공해 그 결과 새로운 리소스가 생성됨. 일반적으로 POST혹은 PUT요청 후 발생하는 응답
  • 202 Accepted : 요청이 접수되었으나, 처리가 완료되지 않음
  • 204 No Content : 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 ex) 요청에 대한 결과로 내용은 보낼 필요가 없고, 성공의 결과만 보내주면 될 때.

3xx

요청을 완료하기 위해 유저 에이전트(web browser)의 추가 조치가 필요할 때 사용

  • 300 Multiple Choices : 거의 사용하지 않음
  • 301 Moved Permanently : 요청된 리소스의 URL이 영구적으로 변경되었을 때. 새 URL을 제공. 리다이렉트 시 메서드가 GET으로 변하고, 본문이 제거될 수도 있음
  • 302 Found : 요청된 리소스의 URI가 일시적으로 변경되었음을 의미
  • 303 See Other : 리다이렉트시 요청 메서드가 GET으로 변경
  • 304 Not Modified : 캐싱 목적으로 사용. 클라이언트에게 응답이 수정되지 않았음을 알려줌 -> 클라이언트는 가지고있는 캐시를 사용
  • 307 Temporary Redirect : 리다이렉트시 요청 메서드와 본문을 유지함
  • 308 Permanent Redirect : 리다이렉트시 요청 메서드와 본문을 유지..

Redirection

웹 브라우저는 3xx 응답의 결과에 Location헤더가 있으면, 해당 위치로 자동 이동(리다이렉트)한다.

  • 영구 리다이렉션 : 특정 리소스의 URI가 영구적으로 이동
  • 일시 리다이렉션 : 일시적인 변경 ex) 주문 완료 후 주문 내역 화면으로 이동
  • 특수 리다이렉션 : 결과 대신 캐시를 사용 주로 304응답

4xx - Client Error

클라이언트의 요청에 잘못된 문법 등으로 인해 서버가 요청을 수행할 수 없는 경우. 오류의 원인이 클라이언트에게 있는 경우

  • 400 Bad Request : 요청 구문, 메시지 등등 오류. 클라이언트는 요청 내용 재검토 후 재요청해야함
  • 401 Unauthorized : 인증되지 않음. 클라이언트는 자신을 인증해야 함
  • 403 Forbidden : 클라이언트가 콘텐츠에 대한 엑세스 권한이 없을. 클라이언트는 인증된 상태
  • 404 Not Found : 서버가 요청된 리소스를 찾을 수 없음. 403대신 404응답을 보내 리소스 자체의 존재를 숨기는 경우도 있음

5xx - Server Error

  • 500 Internal Server Error : 서버 내부 문제로 오류 발생. 애매하면 500
  • 503 Service Unavailable : 서비스 이용 불가. 서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리할 수 없음

더 많은 코드