3xx - 리다이렉션1
영구 리다이렉션
Last updated
영구 리다이렉션
Last updated
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)⭐️
308 Permanent Redirect 301과 기능은 같음 리다이렉트시 요청 메서드와 본문 유지(처음 POST를 보내면 리다이렉트도 POST 유지⭐️)