HTTP #3 HTTP 상태 코드

함형주·2022년 11월 3일
0

HTTP

목록 보기
4/5

질문, 피드백 등 모든 댓글 환영합니다.

HTTP 상태코드

HTTP 상태코드를 이용하여 요청의 처리 결과를 나타냅니다.

1XX (Informational) : 요청이 수신되어 처리 중

거의 사용하지 않음

2xx (Successful) : 요청 정상 처리

  • 200 : 요청 성공
  • 201 : 요청 성공 + 리소스 생성
  • 202 : 요청은 접수 됐으나 처리는 완료되지 않았음
  • 204 : 요청을 성공적으로 수행했으나 응답할 데이터가 없음

3xx (Redirection) : 요청을 완료하려먼 추가 행동이 필요

리다이렉트 : 응답 결과에 Location 헤더가 있으면 그 위치로 이동

영구 리다이렉션 : 특정 리소스의 URI가 영구적으로 이동

  • 301 : 라다이렉트시 GET으로 변하고 본문이 제거될 수 있음 (거의 GET으로 변함)
  • 308 : 메서드와 본문을 유지함 (거의 사용 X)

일시적인 리다이렉션 : URI의 일시적 변경

PRG : POST/Redirect/GET
POST 후 새로 고침으로 인한 중복 요청 방지 ex) 중복 주문
POST로 주문 후 새로고침하면 결과 화면으로 Redirect 후 GET으로 조회

  • 302 : 301과 같은 기능
  • 303 : 302와 비슷하지만 메서드가 GET으로 변경
  • 308 : 메서드와 본문 유지

기타 다리이렉션 :

  • 304 : 캐시를 목적으로 사용. 리소스가 수정되지 않았음을 알려줌. 응답에 메시지 바디를 포함하면 안됨

4xx (Client Error) : 클라이언트 오류 -> 잘못된 문법 등으로 서버가 요청 수행 불가. 즉 재시도를 해도 항상 결과는 실패함

  • 400 : 잘못된 요청, 클라이언트는 요청 내용을 다시 검토해서 보내야 함. 요청 파라미터가 잘못되거나 API 스펙이 다를 경우 발생
  • 401 : 해당 리소스에 대한 인증이 필요 (로그인)
  • 403 : 인증 자격 증명은 있지만 접근 권한이 불충분 한 경우
  • 404 : 요청 리소스가 서버에 없거나 해당 리소스를 숨기고 싶을 때

5xx (Server Error) : 서버 오류, 서버의 문제로 정상적인 요청을 처리하지 못함. 재시도시 성공할 수도 있음

  • 500 : 서버 내부 문제로 오류 발생
  • 503 : 서비스가 일시적으로 요청을 처리할 수 없는 상태
profile
평범한 대학생의 공부 일기?

0개의 댓글