HTTP 상태코드

KJH·2023년 3월 26일
0
post-custom-banner
  • 1xx : 처리중 (거의 사용 안함)
  • 2xx : 정상처리
  • 3xx : 추가 행동 필요
  • 4xx : 클라이언트 오류
  • 5xx : 서버 오류

인식할 수 없는 상태코드는 상위상태코드 (ex 299=>2xx)로 해석


2xx 성공👍

  • 200 OK
  • 201 CREATED : (리소스 생성)
  • 202 Accepted : (요청이 접수되었으나, 처리가 완료되지 않음 ) (ex 배치처리)
  • 204 No Content : (서버에서 요청을 수행했지만, 응답 본문에 보낼 데이터는 없음)

3xx (Redirection) ▶️▶️

리다이렉션이란?

웹 브라우저는 3xx 응답에 Location 헤더가 있으면, 자동으로 Location 위치로 이동

종류

  • 영구 리다이렉션 : 특정 리소스의 URI가 영구적으로 이동
  • 일시 리다이렉션 : 일시적으로 변경 (PRG)
  • 특수 리다이렉션 : 결과 대신 캐시사용

영구 리다이렉션(301,308)

리소스의 URI가 영구적으로 이동
원래 URL을 사용 ❌ (검색 엔진 등에서도 변경 인지)

  • 301 Moved Permanently : 리다이렉트시 메소드가 GET으로 변하고, 본문이 제거될 수도??
  • 308 Permanent Redirect : 리다이렉트시 요청 메서드와 본문 유지

일시적 리다이렉션 (302,307,303)

리소스의 URI가 일시적으로 변경 ( 검색 엔진등에서 URL 변경 안함)

  • 302 Found : 리다이렉트시 요청 메서드가 GET으로 변경되거나 본문이 제거될 수도??
  • 307 Temporary Redirect : 리다이렉트시, 요청 메서드와 본문 유지
  • 303 See other : 302와 비슷, 무조건 GET 으로 변경

302가 모호해서 307, 303 등장

기타 리다이렉션 (300,304)

300은 안씀
304 Not Modified

  • 캐시를 목적으로 사용
  • 클라에게 리소스가 수정되지 않았음을 알려줌 (캐시로 리다이렉트)
  • 로컬 캐시를 사용해야 하므로, 메시지 바디 ❌

4XX (Client Error)

오류의 원인이 클라이언트에 있음 (서버가 요청 수행 못함)
클라이언트가 잘못된 요청을 보내기 때문에, 재시도는 항상 실패할거임

400 Bad Request

클라이언트의 잘못된 요청으로, 서버가 처리 불가

  • 요청 구문, 메시지 등 의 오류 (클라가 다시 검토해서 보내야)
  • ex) 요청 파라미터 잘못됨, API 스펙 안맞음

401 Unauthorized

인증 필요

  • 응답에 WWW-Authenticate 헤더와 함께 방법을 설명

403 Forbidden

서버가 요청은 이해했지만, 승인 거부

  • 인증은 했지만, 권한없음
  • ex) 일반사용자가 admin 접근

404 Not Found

요청 리소스를 찾을 수 없음

또는 숨기고 싶을때


5xx (Server Error)

서버 내부 문제로 오류

애매하면 500
4xx와 달리, 재시도시 성공 가능

503 Service Unavailable

서비스 이용 불가

  • 서버가 일시적인 과부하 또는 예정 작업 등으로, 처리 불가
  • Retry-After 헤더 필드로 복구시간을 보낼 수도
post-custom-banner

0개의 댓글