一尘不染

JSP转发和重定向之间的区别

jsp

请解释之间的差异jsp:forwardredirect
在每种情况下会发生什么?


阅读 284

收藏
2020-06-08

共1个答案

一尘不染

  • redirect将响应状态设置为302 [1],并在Location标头中设置新的url ,然后将响应发送到浏览器。然后,浏览器根据http规范,再次请求新网址

  • 转发完全发生在服务器上。Servlet容器只是将相同的请求转发到目标url,而浏览器对此一无所知。因此,在处理新的URL时,您可以使用相同的请求属性和相同的请求参数。而且浏览器不会知道网址已更改(因为它完全发生在服务器上)


[1]:这是违反标准的行业惯例的一个示例。HTTP / 1.0规范(RFC
1945)要求客户端执行临时重定向(原始描述短语为“临时移动”),但是流行的浏览器使用303的功能实现了302。因此,HTTP /
1.1添加了状态代码303和307,以区分这两种行为。然而,一些Web应用程序和框架使用302个状态码,好像它是在303
来源

2020-06-08