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 유지)
'HTTP 웹 기본 지식' 카테고리의 다른 글
HTTP 상태코드[4xx - 클라이언트 오류] (0) | 2023.01.06 |
---|---|
HTTP 상태코드[3xx - 리다이렉션2] (0) | 2022.12.29 |
HTTP 상태코드[2xx - 성공] (0) | 2022.12.28 |
HTTP 상태코드[HTTP 상태코드 소개] (0) | 2022.12.28 |
HTTP 메서드 활용[HTTP API 설계 예시] (0) | 2022.12.20 |
댓글