HTTP의 리다이렉트

김영한·2021년 3월 7일
0

HTTP

목록 보기
1/1

출처


Go로 로그인 페이지를 만들다가 리다이렉션 개념을 알게 되었다.

📍 리다이렉트란?

리다이렉트란 말 그대로 re(다시) + direct(지시) 브라우저에게 다시 지시하는 것이다.
예를 들어 브라우저가 www.go.com/test1 URL을 웹 서버에 요청했다고 할 때 서버는 HTTP 응답 메시지를 통해 "www.go.com/test2 로 다시 요청해라" 라고 브라우저에게 다른 URL을 지시할 수 있다.
그럼 브라우저는 www.go.com/test2로 다시 요청하게 된다.

📍 동작

  1. 최초 요청을 받은 웹서버는 HTTP 응답 상태코드로 302를 보내고 응답 메시지 헤더 중 Location 값으로 리다이렉트 되어야 할 주소를 설정해 리턴한다.
  2. 브라우저등의 웹 클라이언트는 HTTP 응답 메시지의 상태코드가 302라는 것을 보고 리다이렉트라는 것을 인지하여 Location 에 설정되어 있는 URL로 다시 재요청한다.

📍 리다이렉트가 필요한 이유

특정 권한이 있는 유저가 들어갈 수 있는 페이지라고 할 때(ex.게시판 글쓰기) 해당 페이지의 URL을 알아내어 브라우저의 주소창에 입력한 후 접근한다고 했을때 권한이 없다면 페이지에 대한 내용을 웹서버가 응답하면 안된다. 이 때 웹서버는 글에 접근하는 요청마다 권한을 검사하고 권한이 없을 경우 권한을 증명할 수 있는 페이지(ex.로그인 페이지)로 리다이렉트 시킬 필요가 있다.

0개의 댓글