转发和重定向之间的区别

时间:2011-12-27 16:05:42

标签: java servlets terminology

  

可能重复:
  difference between jsp forward and redirect

有没有人知道Http servlet中的转发和重定向之间的区别以及这些差异对浏览器刷新的影响?

4 个答案:

答案 0 :(得分:33)

转发是在不让客户知道的情况下完成的,它用于在服务器上进行内部通信,而在重定向我们要求客户回去并在此处询问


现实生活中的例子

<强>转发

你去邮局有很多盒子和人坐在那里,现在其中一个接受你的请求,它在内部转发给其他负责人来完成你的请求,在这个过程结束时你会得到结果< / p>

重定向

现在,同一个人会给你一个令牌,上面写着转到5号窗口然后问那个人。

另见

答案 1 :(得分:4)

阅读this wikipedia article,这非常清楚地解释了这一点。

转发只是将单个请求处理的责任转移到新的服务器 - dide组件(例如:servlet - &gt; JSP)。重定向要求浏览器在部分处理第一个请求时发送新请求(例如:创建产品 - >重定向到产品列表)。

重定向后获取模式,在维基百科文章中有解释,解释了重定向的优先时间和原因。

答案 2 :(得分:3)

fowarding发生在服务器端。服务器向其他页面发送请求并让该页面处理它。

重定向在服务器和客户端之间播放。服务器将一些HTTP代码(现在没有记住)返回给客户端,该客户端告诉他为重定向到的页面发出新的GET请求,这种情况在没有任何用户交互的情况下发生。

答案 3 :(得分:1)

转发对浏览器是透明的。

重定向不是。它涉及浏览器加载第二个URL。所以我认为这有点慢。

有关详细信息,请参阅here