转发和重定向之间的区别

可能重复:
jsp前进和重定向之间的区别

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

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


真实的例子

转发

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

重定向

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

另见

  • 差之间,JSP的前向和后重定向

阅读这篇维基百科文章 ,该文章非常清楚地解释了这一点。

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

后重定向 – 获取模式(在维基百科文章中进行了解释)解释了重定向何时以及为何需要重定向。

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

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

转发对浏览器是透明的。

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

有关详细信息,请参见此处