差异

2011-12-27 90 views

回答

32

转发而不让客户端完成知道,它是用来做内部沟通的服务器,而在重定向我们要求客户端回去,并要求它在这里。


真实生活中的例子

转发

你去邮局也有坐在那里的箱子和人的数量,现在他们中的一个人接受你的请求,并在内部将其转发给其他责任人履行您的要求,并在过程结束时,你会得到结果

重定向

现在,同一个人给你一个表示goto window no5的标记并询问该人。

请参见

+0

与现实生活中的例子出色答卷带它点见here。竖起大拇指! – 2017-05-17 06:22:55

3

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

重定向在服务器和客户端之间播放。服务器返回一些HTTP代码(现在不考虑),告诉他为重定向的页面创建了一个新的GET请求,这发生在没有任何用户交互的情况下。

4

阅读this wikipedia article,这解释得非常清楚。

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

在维基百科文章中解释的post-redirect-get模式解释了何时以及为什么重定向是可取的。

+0

在成功的表单提交时执行重定向但在未成功的表单提交时执行重定向(例如:验证未通过)是一种很好的一般做法吗? – theyuv 2016-09-19 06:49:56

1

转发对浏览器是透明的。

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

更多信息