01-重定向和转发的区别【ZeyFra】
1、啥是重定向(Redirect)?啥是转发(Forward)?
【重定向】
客户向服务器发送请求后,服务器处理完返回消息给客户端告知需再发送一次固定内容的请求,客户端便再次发送了一个请求从而跳转至新页面
【转发】
客户端向服务器发送请求后,服务器处理完之后把之前请求所携带的传输信息(在JavaWeb中为request和response对象)一同转发至下一个组件或网页
2、有什么区别?

1、地址栏不同(表面)
-
转发:地址栏不变,并不会显示出所转向的地址
-
重定向:地址栏改变,显示转向之后的地址
2、“请求 - 响应” 的次数和行为对象不同
-
转发:整个过程只有一次,且属于服务器的行为,由服务器区发出请求,客户端并不知晓,所以客户端游览器中是不会显示出转向的地址
-
重定向:整个过程至少涉及两次“请求 - 响应” ,且属于客户端行为,是服务器告诉客户端需要转向特定的地址,然后客户端再自己去请求转向地址,因此是会显示出转向的地址
3、速度不同
-
转发:转发是在同一台服务器上完成,速度较快
-
重定向:重定向需要经过数次客户端,在多台不同的服务器上完成,速度较慢
4、所携带的信息处理不同
-
转发:不会丢失所携带的信息
-
重定向:会丢失所携带的信息
3、如何选择?
1、转发速度快

浙公网安备 33010602011771号