转发(forward)和重定向(redirect)的区别

Posted Jakeylove3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转发(forward)和重定向(redirect)的区别相关的知识,希望对你有一定的参考价值。

 

转发与重定向的主要区别
转发 重定向
转发是服务器行为 重定向是客户端行为
转发浏览器url不改变 重定向浏览器url改变
转发request请求数据不丢失 重定向request请求数据丢失
转发效率较高 重定向效率较低

 

工作流程:

转发:客户浏览器发送http请求——web服务器接受此请求——调用内部的一个方法在容器内部完成请求处理和转发动作——将目标资源发送给客户;

重定向:客户浏览器发送http请求——web服务器接受后发送302状态码响应及对应新的location给客户浏览器——客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址——服务器根据此请求寻找资源并发送给客户。

以上是关于转发(forward)和重定向(redirect)的区别的主要内容,如果未能解决你的问题,请参考以下文章

spring 转发forward和重定向redirect

转发(Forward)和重定向(Redirect)的区别

转发(forward)和重定向(redirect)的区别

请求转发(Forward)和重定向(Redirect)的区别

请求转发(Forward)和重定向(Redirect)的区别

请求转发(Forward)和重定向(Redirect)的区别