본문 바로가기
HTTP 웹 기본 지식

HTTP 상태코드[3xx - 리다이렉션1]

by danny-j 2022. 12. 29.

3xx (Redirection)

  • 요청을 완료하기 위해 유저 에이전트(주로 웹브라우저)의 추가 조치 필요
  • 리다이렉션이란
    • 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 자동 이동 (리다이렉트)
  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Found
  • 303 See Other
  • 304 Not Modified
  • 307 Temporary Redirect
  • 308 Permanent Redirect

 

자동 리다이렉트 흐름

  • 클라이언트가 더이상 사용하지 않는 /event 경로의 event Page를 요청할 때
  • 서버에서 301 Moved Permanently(영원히 이동함)상태코드로 Location Header에 새 경로를 알려줌
  • 웹브라우저에서는 응답받은 HTTP 메시지에 301 Moved Permanently응답코드와 Location Header의 경로를 확인 후 서버에 새 경로로 자동으로 다시 요청
  • 서버에서는 다시 응답해줌

 

종류

  • 영구 리다이렉션 - 특정 리소스의 URI가 영구적으로 이동
    • ex) /members -> /users
    • ex) /event -> /new-event
  • 일시 리다이렉션 - 일시적인 변경
    • 주문 완료 후 주문 내역 화면으로 이동
    • PRG: Post/Redirect/Get
  • 특수 리다이렉션
    • 결과 대신 캐시를 사용

 

영구 리다이렉션 - 301, 308

  • 리소스의 URI가 영구적으로 이동
  • 원래의 URL를 사용X, 검색 엔진 등에서도 변경 인지
  • 301 Moved Permanently
    • 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음(MAY)
  • 308 Permanent Redirect
    • 301과 기능은 같음
    • 리다이렉트시 요청 메서드와 본문 유지(처음 POST를 보내면 리다이렉트도 POST 유지)

 

 

 

 

 

이미지 출처 - https://www.inflearn.com/course/http-웹-네트워크

댓글