WEB개발

[WEB기본] forward vs redirect

wooyeon06 2023. 1. 2. 16:16

forward vs redirect

얼핏 보면 forward의 기능이 redirect와 비슷해보인다. 하지만 이 둘은 분명한 차이점이 있다.

 

1. 리다이렉트는 url 주소가 달라지고, 포워드는 url 주소가 달라지지 않는다.

 

리다이렉트는 클라이언트가 서버에게 요청을 보내면 서버는 어떠한 일을 처리하고 클라이언트에게 새롭게 요청할 곳을 알려준다. 그래서 리다이렉트의 결과는 실제 실행한 뒤에 url 주소가 달라진다.

반면, 포워드는 클라이언트가 요청을 보냈을 때 서버 쪽에서 혼자 처리하는 것이 아니라 또 다른 back에게 일을 넘기는 것이다. 포워드의 경우 클라이언트는 서버에서 서블릿이 혼자 일을 처리했는지, 다른 서블릿에게 일을 위임했는지 알 필요가 없다. 그래서 포워드가 실행되면 url주소는 바뀌지 않는다.

 

2. 리다이렉트는 request, response 객체가 여러 번 생성되고, 포워드는 한 번만 생성된다.

 

실제 클라이언트가 서버에게 요청을 하면 반드시 생성되는 객체가 request와 response이다. 요청이 들어와서 응답을 할 때까지 계속 유지가 되어야 한다. 포워드 같은 경우는 이 객체들이 한 번만 만들어진다. 반면, 리다이렉트는 요청과 응답이 여러번 실행되기 때문에 request, response 객체가 여러 번 만들어진다.

 

 

[FORWORD]

 

 

[REDIRECT]

 

 

출처

https://doublesprogramming.tistory.com/63