본문 바로가기
Develop/CS

HTTP 상태 코드

by 연로그 2021. 2. 1.
반응형

상태 코드

: 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능

 

  • 1xx (Informational): 요청이 수신되어 처리중 (거의 사용하지 않는다)
  • 2xx (Successful): 요청 정상 처리
  • 3xx (Redirection): 요청 완료하려면 추가 행동 필요
  • 4xx (Client Error): 클라이언트 오류. 잘못된 문법 등으로 서버가 요청을 수행할 수 x
  • 5xx (Server Error): 서버 오류. 서버가 정상 요청을 처리 못함

 

2xx

  • 200 OK
  • 201 Created - 요청 성공해서 새로운 리소스가 생성됨
  • 202 Accepted - 요청 접수 되었으나 처리는 x
  • 204 No Content - 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터 x

3xx

  • 300 Multiple Choices
  • 301 Moved Permanently - (영구) 리다이렉트 시, 요청 메소드가 GET으로 변경 + 본문 제거될 수 있음
  • 302 Found - (일시) 리다이렉트 시, 요청 메소드 GET으로 변경 + 본문 제거될 수 있음
  • 303 See Other - (일시) 리다이렉트 시, 요청 메소드 GET으로
  • 304 Not Modified - (캐시) 클라이언트에게 리소스 수정되지 않았음을 알려줌
  • 307 Temporary Redirect - (일시) 리다이렉트 시, 요청 메소드와 본문 유지
  • 308 Permanet Redirect - (영구) 리다이렉트 시, 요청 메소드와 본문 유지.

 

리다이렉션

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

 

- 이벤트 페이지를 새로 바꾸었다고 하자.

  1. 사용자들은 기존 이벤트 페이지를 북마크 등으로 저장했다가 /event를 통해 접근한다
  2. URL이 /new-event로 바뀌면서 새 이벤트 페이지가 오픈된다.

 

영구 리다이렉션

  • 특정 리소스의 URI가 영구적으로 이동
  • 원래의 URL 사용 x
  • 301, 308

 

일시 리다이렉션

  • 일시적인 변경
  • 검색 엔진 등에서 URL을 변경하면 안됨
  • 주문 완료 후 주문 내역 화면으로 이동
  • PRG; Post/Redirect/Get: POST로 주문 시 새로고침으로 인한 중복 주문 방지
  • 302, 303, 307

 

특수 리다이렉션

  • 결과 대신 캐시를 사용
  • 클라이언트에게 리소스 수정되지 않았음을 알려준다. -> 클라이언트는 로컬 pc에 저장된 캐시 재사용
  • 응답에 메시지 바디 포함 x

 

4xx

  • 400 Bad Request - 잘못된 요청
  • 401 Unauthorized - 인증 불가
  • 403 Forbidden - 인증 완료, 접근 권한 없음
  • 404 Not Found - 리소스 찾을 수 x

 

5xx

  • 500 Internal Server Error - 서버 내부 문제
  • 503 Service Unavailable - 서버 일시적 과부하 또는 예정된 작업

본 글은 김영한님의 유료 강의를 들으며 요약, 정리를 목적으로 작성한 것으로 홍보나 금전적 목적이 없습니다.

제 방식으로 정리한 것으로 강의 내용을 추가/삭제/변경된 부분이 많으며 자세한 설명은 강의 구매를 추천 드립니다.

 

참고

모든 개발자를 위한 HTTP 웹 기본 지식 / 김영한 / inflearn

inf.run/PHpy

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다. 초급 웹 개발 기타 네트워크 웹 개발 Back-End 온라인 강의 프론트엔드/백엔드, 웹/모바일 앱 개발 등 웹 기술을 사용하는

www.inflearn.com

 

반응형