forward和redirect的区别是什么?

我只是一个虾纸丫 提交于 2020-03-01 10:40:43

两者的区别总结:

1. 从地址栏显示来说:

1)forword是服务器内部的重定向,服务器直接访问目标地址的 url网址,把里面的东西读取出来,但是客户端并不知道,因此用forward的话,客户端浏览器的网址是不会发生变化的。

2)redirect是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的地址。

2.从数据共享来说:

1)由于在整个定向的过程中用的是同一个request,因此forward会将request的信息带到被重定向的jsp或者servlet中使用。即可以共享数据

2)redirect不能共享

3. 从运用的地方来说

1)forword 一般用于用户登录的时候,根据角色转发到相应的模块

2) redirect一般用于用户注销登录时返回主页面或者跳转到其他网站

4.从效率来说:

1)forword效率高,而redirect效率低

5. 从本质来说:

forword转发是服务器上的行为,而redirect重定向是客户端的行为

6. 从请求的次数来说:

forword只有一次请求;而redirect有两次请求,

 

再举一个浅显易懂的例子:

 ————————————————

版权声明:本文为CSDN博主「hongjie_lin」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_37766296/article/details/80375106

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!