浅析请求转发与重定向

本文详细介绍了HTTP中的请求转发和重定向的区别。请求转发是服务器端内部操作,只发生一次请求和响应,地址栏不变;重定向则涉及两次请求和响应,地址栏显示最终访问的新地址。重定向允许访问其他Web应用资源,而请求转发不能。此外,请求转发能保留request属性,重定向则不能。
摘要由CSDN通过智能技术生成

重定向:

客户端浏览器向Web应用服务器端发送一个请求,Web服务器端使用HttpServletResponse的sendRedirect()方法将结果(结果中头信息内HTTP状态码为302,Location响应报头域中保存响应回来的地址)返回客户端浏览器;客户端浏览器收到服务器端结果后解析其头部信息,然后自动按照头部指定地址以GET方式再次向Web应用服务器端发请求,此时地址栏URL发生变化,服务器端接收到新的请求再将结果返回至客户端浏览器,客户端浏览器解释执行返回结果并将执行结果显示给用户,至此该过程结束。

例子一枚:在index.jsp里实现一个链接请求,链接到TargetServlet.java,这时web服务器端使用HttpServletResponse的sendRedirect()方法返回一个 302 HTTP状态码和一个指定地址,这里是target.jsp,简单的传递一条信息。

 开始界面:没有进行请求

 点击链接后:返回msg信息,可在网络中看到有状态码302和200,共有三个请求。

再仔细观察,发现地址栏发生了改变,原因如下:客户端浏览器根据web服务器返回的302状态码再次向web服务器发出请求(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值