본문 바로가기
웹 관련 기본 지식

리다이렉트란(Redirect)

by 웹하는빡통 2019. 11. 4.

HTTP 리다이렉트(Redirect)란?


리다이렉트란 말 그대로 re(다시) + 지시하다(direct) 다시 지시하는 것을 말한다.
예를 들어 브라우저가 www.webstone.com/blogA URL을 웹 서버에 요청했다고 하자 그러면 서버는 HTTP 응답 메시지를 통해 "www.webstone.com/blogB 로 다시 요청해봐!~" 라고 브라우저에게 다른 URL(길, 방향) 을 지시할 수 있는 것을 리다이렉트라 한다.

ex)
(1)www.webstone.com/pageA 요청을 보냄
(1)브라우저 -------> (2)SERVER

(2)www.webstone.com/pageB 여기로 가봐 
(1)브라우저 <------- (2)SERVER

(1)www.webstone.com/pageB로 요청을 보냄
(1)브라우저 -------> (2)SERVER

리다이렉트는 HTTP 표준으로 정의 되어 있는데 최초 요청을 받은 웹서버는 HTTP 응답 상태코드로 302를 보내고 응답 메시지 헤더 중 Location 값으로 리다이렉트 되어야 할 주소를 설정해 리턴한다.
클라이언트는 서버로 부터 받은 응답 값이 상태코드 302라는 것을 보고 서버가 리다이렉트를 시킨거구나라고 알고  Location 에 설정되어 있는 URL로 다시 재요청을 한다. 

 

1. 클라이언트 ---- > 서버로 부터 요청함.

 

2. 서버가 리다이렉트 시킴.

 

3. 서버가 리다이렉트시킨 응답값으로 다시 요청을 보냄. 



여기서 잠깐!!! 질문이 있습둥 0,,0

Q. 상태코드 302가 무엇이죠??
A. 하이퍼텍스트 전송 프로토콜 (HTTP)의 302 Found 리다이렉트 상태 응답 코드는 클라이언트가 요청한 리소스가 Location 헤더에 주어진 URL에 일시적으로 이동되었음을 가리킨다.


리다이렉트를 사용하는 예

우리가 네이버에 웹툰을 보고 있다고 가정하자 웹툰을 보다가 너무 재미있어 차마 7일동안은 기다리지 못할것만 같아 미리보기 시청을 하기위해 결제를 하려한다. 하지만 이때 로그인을 하지않은 상태에서 결제를 시도하여 로그인 후 결제를 해달라는 팝업창과 함께 로그인 페이지로 이동시킨다. 그리고 로그인이 완료되면 다시 결제 창으로 이동이 된다. 

결제 ---> 로그인하고 결제 하셈 ㅇㅇ ---> 로그인페이지(리다이렉트 시킴)--->

로그인 완료---> 다시 결제 창으로

'웹 관련 기본 지식' 카테고리의 다른 글

웹 방화벽 우회기법  (2) 2019.12.24
웹 방화벽의 개념과 원리  (1) 2019.12.24
Contents-Type Header 와 Accept Header의 차이점  (1) 2019.11.05
GET/POST 방식  (1) 2019.10.28

댓글