1.URL地址栏的显示
forward是服务器端请求资源,服务器直接访问目标地址的URL读取响应信息,再发送给客户端,客户端根本就不知道服务器的响应信息从何而来,所以客户端浏览器的地址栏不会改变,并且浏览器只发送了一次http请求。
redirect是服务器先响应浏览器的第一次请求,然后发送一个状态码,告诉浏览器去哪个URL地址重新发起请求,所以浏览器又发送了一个请求,并且地址栏改变了。所以浏览器会发送两个HTTP请求。
2.共享数据
forward:转发页面和转发到的页面可以共享request域中的数据
redirect不能共享request域中的数据
3.效率
forward比redirect效率高,因为只发送一次HTTP请求