본문 바로가기
개발자의 공부방/JSP

리다이렉트(redirect)의 이해

by 쌈빡한 쥬니준 2019. 2. 11.



웹 개발을 공부하면서 간단하면서도 이해가 안가는 부분이였던 Redirect 에 대해서 정리해보려고 합니다.



클라이언트가 서버한테 요청을 보냄 → 서버는 어떤 일들을 처리함 → 클라이언트한테 새로운 요청할 곳을 알려주면서 이걸로 다시 요청함.



이 과정을 쉽게 풀어서 작성하자면...

(제가 이해하려고 말도 안되는 비유를 하면서 설명했습니다...ㅠㅠ)





클라이언트(웹브라우저)"웹툰 좀 보고싶은데! 어디보자...웹툰목록에서 고수가 재밌을 것 같구만!" 하고 서버한테 요청을 함

*www.naver.com/웹툰목록


→ 서버(톰캣, WAS) : "뭐여? 보고싶음? 근데 뭐 볼거여? 뭐? 고수 보고싶다고? 볼 수 있는지 확인하고 너한테 응답해줌, " 하고 요청을 받음.

그리고 보내주려고 하는데...."잠깐!! 너 근데 302하이패스 카드 있음? " 하고 응답 결과를 브라우저한테 보냄.

*응답코드 : 302, Location 헤더 값: www.naver.com/웹툰고수


→ 클라이언트(웹브라우저) : "마! 내가! 302하이패스 카드도 있고 다! 있어!!, 나 웹툰 고수 요청한거 가능하냐 안하냐?"

*브라우저가 알아서 다시 서버한테 요청을 함.


→ 서버(톰캣, WAS) : "아...쉐키...ㅇㅋ 볼 수 있어! 웹툰 고수 보러 가랏!!"


클라이언트(웹브라우저) : "데헷 고수 드디어 본당!! 서버야 고맙다잉!~"




예시가 좀 그렇죠...? 하하...

아래 참고한 사이트를 보시면 조금 더 상세하게 설명되어 있습니다.




※리다이렉트의 중요한 부분!

클라이언트가 요청을 몇번 보냈는가? 바로 두번 보내게 되는데...

이게 왜 중요하냐?

항상 요청을 들어가면 요청객체와 응답객체가 생기때문인데...

처음 고수목록페이지에 들어와서 생겼던 요청객체와 응답객체랑

다시 웹브라우저한테 들어와서 고수1화 보고싶다는 요청이 들어왔을 때 생기는

요청객체와 응답객체는 다른 객체이다.


그리고 URL 은 www.naver.com/웹툰목록 에서  www.naver.com/고수목록 로 바뀌게 된다.



※응답코드 302 란?

300 번대 응답(response) : 리디렉션(Redirection)

요청된 리소스에는 새로운 URI가 지정되어 있기 때문에, 이후로는 새 URI를 사용해야 한다는 것을 나타냄.

302는 일시적인 URI 이동.

이라고 설명이 되어 있네요.


URL 에서 /웹툰목록 → /고수목록으로 바뀐 것을 크롬개발자도구 (F12)를 통해응답코드로 확인을 할 수 있습니다!






참고사이트

출처 : https://dololak.tistory.com/147

출처 : www.edwith.org




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

리다이렉트가 왜 필요할까요? 아주 간단합니다.

기존의 페이지의 주소가 새롭게 변경된 경우. (가장 많은 리디렉션 조치의 이유)

불필요하거나 잘못된 서브주소를 하나로 이동시키는 경우.


예를 들어서 19금 웹툰을 예로 들어봅니다.

웹툰목록에서 '헬퍼' 라는 웹툰을 보고싶어서 '헬퍼1화' 를 클릭했더니? 성인이 아니라고 다시 웹툰목록 페이지로 돌아갑니다.

이처럼 권한이 없다면 어떠한 페이지에 대한 내용을 서버측에서는 응답을 하면 안됩니다.

그렇기때문에 웹툰목록으로 리다이렉트가 되는 것이고 필요한 것이지요!




응답 코드에 대한 참고사이트

출처 : https://developer.mozilla.org/ko/docs/Web/HTTP/Status

출처 : https://helloitstory.tistory.com/197

출처 : https://ooz.co.kr/260


댓글0