Cute Happy Ghost
본문 바로가기
server·network

HTTP 상태코드 (3xx - 리다이렉션)

by JENN_tech7 2022. 3. 3.
728x90
SMALL

리다이렉션이란 

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

 

영구 리다이렉션

301, 308

  • 리소스의 URI가 영구적으로 이동
  • 301 moved permanently
    • 리다이렉트시 요청메서드가 get으로 변하고 본문이 제거될 수 있음
  • 308 permanent redirect
    • 301과 기능같음
    • 리다이렉트시 요청 메서드와 본문유지(처음 post를 보내면 리다이렉트도 post)

 

일시적인 리다이렉션

302, 307, 303

  • 리소스의 URI가 일시적으로 변경
  • 따라서 검색 엔진 등에서 URL을 변경하면 안됨
  • 302 Found
    • 리다이렉트 요청 메서드가 get으로 변하고 본문이 제거될 수 있음
  • 307 Temporary Redirect
    • 302와 기능같음
    • 리다이렉트시 요청 메서드와 본문유지(요청메서드변경하면 안됨)
  • 303 See Other
    • 302와 기능같음
    • 리다이렉트시 요청 메서드가 get으로 변경

 

PRG: Post/Redirect/Get - 일시적인 리다이렉션

- post로 주문 후 웹 브라우저를 새로고침하면? 중복주문될 수 있음

방지를 위해 주문 후 주문결과화면을 get메서드로 리다이렉트

 

 

기타 리다이렉션

300, 304

  • 300 Multiple Choices : 안씀
  • 304 Not Modified
    • 캐시를 목적으로 사용
    • 클라이언트에게 리소스가 수정되지 않았음을 알려준다. 따라서 클라이언트는 로컬 pc에 저장된 캐시를 재사용한다(캐시로 리다이렉트함)
    • 304 응답은 응답에 메시지 바디를 포함하면 안된다(로컬캐시를 사용해야하므로)
    • 조건부 GET, HEAD 요청시 사용
728x90
LIST

댓글