redirect和forward 的区别
1.从地址栏显示来说
forward 是服务器请求资源,服务器直接访问目标地址url,把那个url的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容从哪里来的,所以他的地址还是原来的地址。
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的地址。
所以redirect等于客户端向服务器端发出两次request,同时也接受两次response。
2,从数据共享来看
forward:转发页面和转发到的页面可以共享request里面的数据
redirect:不能共享数据
3.从运用地方来说
forward:一般用于用户登录的时候,根据角色转发到相应的模块。
redirect:一般用于用户注销登录时返回主页面,和跳转到其他网站。
4.从效率来说
forward:高
redirect:低