BASHA TECH

Redirect 본문

Computer/JSP

Redirect

Basha 2022. 9. 1. 22:36
728x90

특정 url 접속 시 리다이렉트 또는 포워드가 일어나게 되면 작업 중인 페이지가 전환 됨.

리다이렉트와 포워드는 페이지가 전환된다는 점에서 비슷한 역할을 함. 하지만 이 둘 사이에서 페이지를 전환하는 주체가 다르다는 것이 큰 차이. 이것이 동작에 큰 영향을 끼친다.

 

리다이렉트의 페이지 전환 주제는 클라이언트. 

포워드의 페이지 전환 주체는 서버.

클라이언트가 주체가 되어 페이지를 전환하는 방법은 접속한  url 이 아닌 다른 url로 직접 접속하는 방법 밖에 없다.

반대로, 서버가 전환 주체가 되면 url 주소가 바뀌지ㅣ 않고도 서버 내부의 동작을 통해 다른 응답을 클라이언트에 내려줄 수 있게 된다. 

 

리다이렉트: 

서버에서 클라이언트에서 요청한 url에 대 응답에서 다른 url 로 재접속하라고 명령을 보내는 것을 말한다. 리다이렉트는 url을 다시 가르킨다는 뜻으로, 클라이언트는 해당 url로 다시 요청하게 된다. 리다이렉트가 일어나면 url 주소가 바뀌면서 다시 접속되는 것을 확인 하루 싱ㅆ어 클라이언트 또한 리다이렉션이 일어났음을 알 수 있다.

 

여여기서 클라이언트는 웹브라우저를 보통 의미하며, 웹브라우저는 서버에서 리다이렉트하라는 응답 코드 300번대 코드가 오게 되면, 리다렉트를 해야하는 url로 다시 요청을 보내는 역할을 한다.

 

포워드:

클라이언트가 한번 더 요청을 보내도록 하는 리다이렉트와 다르게 포워드는 서버 내부에서 일어나는 호출.

클라이언트의 url에 대한 요청이 들어오면 해당 url이 다른 url로 포워딩 된 것이 확인 되었을 경우 서버에서 포워딩 된 url의 리소스를 확인 하여 클라이언트에 응답한다. 포워딩이 일어나면 클라이언트 단에서는 아무런 동작을 하지 않으며, 모든 동작을 서버에서 처리한다. 따라서, 클라이언트에서 요청한 url은 물론 요청정보는 바뀌지 않는다. 즉, 포워딩은 서버의 내부 동작.

리다이렉트와 포워드의 사용

: 사용자의 요청 정보가 바뀌어버리는 리다이렉트와 요청정보는 그대로 유지한 채 서버 내부의 동작만 바뀌는 포워드는 적절히 사용되어야 한다. 리다이렉트는 클라이언트의 요청에 의해 서버의 DB에 변화가 생기는 작업에 사용된다. 예를 들어 DB의 유저 테이블을 변경하는 회원가입과 같은 경우에는 리다이렉트가 사용되어야 요청을 중복해서 보내는 것을 방지할 수 있다.

포워드는 특정 URL에 대해 외부에 공개되지 말아야 하는 부분을 가리는데 사용하거나 조회를 위해 사용된다. 스프링의 경우 /WEB-INF에 있는 view에 대한 정보들이 외부에 직접 공개 되지 말아야할 때 내부에서 포워딩을 통해 /WEB-INF 경로를 가리키도록 한다.

 

https://kotlinworld.com/329

 

 

 

 

 

 

 

728x90
반응형

'Computer > JSP' 카테고리의 다른 글

AOP & Filter & Listener  (0) 2022.09.05
this.getclass().getmethod  (0) 2022.09.01
startsWith/endsWith 특정 문자로 시작하거나 끝나는지 체크  (0) 2022.09.01
annotation이 java코드로 바뀌는 원리  (0) 2022.09.01
ch10  (0) 2022.09.01
Comments