在学习spring的时候,看到forward(转发)和redirect(重定向),于是想弄清楚转发和重定向的区别,在这里记录一下吧。
1.转发是在服务器内部跳转,所以地址栏上的地址不会改变,重定向是浏览器再次发送请求,地址栏上的地址会改变。
2.转发只会发送一次请求,重定向会转发两次请求(第一次请求是客户端发过来的HTTP请求,响应头中有重定向的地址,客户端浏览器看到响应后,会自动发送一个新的请求到新的地址,这个请求就是第二个请求,它与第一个请求是没关系的)
3.请求转发只能在当前应用内部跳转,而重定向可以在内部跳转也可以跳出当前应用
4.路径写法不同,重定向需要更具体的路径,因为可能会跳转到其他应用。转发的路径写法是 /资源路径,而重定向的路径写法为 /工程名/资源路径
5.请求可以共享request,重定向因为每一次都是新的request,所以不可以共享request
网友评论