redirect和forward 的区别

  1.从地址栏显示来说

    forward 是服务器请求资源,服务器直接访问目标地址url,把那个url的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容从哪里来的,所以他的地址还是原来的地址。

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

  所以redirect等于客户端向服务器端发出两次request,同时也接受两次response。

2,从数据共享来看

  forward:转发页面和转发到的页面可以共享request里面的数据

  redirect:不能共享数据

3.从运用地方来说

  forward:一般用于用户登录的时候,根据角色转发到相应的模块。

  redirect:一般用于用户注销登录时返回主页面,和跳转到其他网站。

4.从效率来说

  forward:高

  redirect:低

 

posted @ 2016-10-27 15:49  tarena_sly  阅读(283)  评论(0编辑  收藏  举报