3xx - 리다이렉션1

영구 리다이렉션

3xx (Redirection) 요청을 완료하기 위해 유저 에이전트의 추가 조치 필요 (유저 에이전트 : 클라이언트의 웹 브라우저를 말한다.)

  • 300 Multiple Choices (거의 안쓰기 때문에 생략)

  • 301 Moved Permanently

  • 302 Found

  • 303 See Other

  • 304 Not Modified

  • 307 Temporary Redirect

  • 308 Permanent Redirect

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

자동 리다이렉트 흐름

자동 리다이렉트 흐름

클라이언트가 GET으로 event 페이지를 조회했는데 더 이상 event 페이지가 없을 경우 클라이언트는 301 응답코드를 보내고, 헤더에 Location 경로를 응답한다.

그러면 클라이언트는 해당 경로로 자동 리다이렉트된다.

리다이렉션 종류

  • 영구 리다이렉션 - 특정 리소스의 URI가 영구적으로 이동 ex) /members -> /users, /event -> /new-event

  • 일시 리다이렉션 - 일시적인 변경 주문 완료 후 주문 내역 화면으로 이동 PRG: Post/Redirect/Get

  • 특수 리다이렉션 결과 대신 캐시를 사용

영구 리다이렉션 : 301, 308

  • 원래의 URL를 사용X, 검색 엔진 등에서도 변경 인지 검색엔진에서 event로 들어오면 "new-event로 가야하는데?"라고 인지한다.

  • 사실 리다이렉션을 하는 경우, 전송하는 정보들도 다 바뀌기 때문에 메시지 유지하는 308보다 301이 더 많이 쓰이고, 이러한 영구 리다이렉션보다 일시적인 리다이렉션이 떠 많이 쓰인다!

  • 301 Moved Permanently 리다이렉트시 요청 메서드가 ⭐️GET으로 변하고, 본문이 제거될 수 있음(MAY)⭐️

301 영구 리다이렉션
  • 308 Permanent Redirect 301과 기능은 같음 리다이렉트시 요청 메서드와 본문 유지(처음 POST를 보내면 리다이렉트도 POST 유지⭐️)

308 영구 리다이렉션

Last updated

Was this helpful?