forword VS redirect 区别

简介: 1)forward 是服务器请求资源,服务器直接访问目标地址的 url,把 url 的响应内容读取出来,然后把这些内容发送给浏览器,浏览器根本不知道服务器发送的内容是从哪取出来,所以他的地址栏中还是原来的地址。

1)

  • forward 是服务器请求资源,服务器直接访问目标地址的 url,把 url 的响应内容读取出来,然后把这些内容发送给浏览器,浏览器根本不知道服务器发送的内容是从哪取出来,所以他的地址栏中还是原来的地址。
  • Redirect 服务器根据逻辑发送一个状态码,告诉浏览器重新去请求事先访问过的那个地址,一般来说,浏览器会用刚才请求的 all 参数重新请求,所以 session,request 参数都可以获取。地址栏显示的是新的 url。用 redirect 等于客户端向服务器端发两次 request,同时也接受两次 response。

2)

  • forward:转发页面和转发到的页面可以共享 request 的数据
  • redirect 不能共享数据

3)

  • forward:只能在同一个 web 应用程序之间转发请求
  • redirect:不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至使用绝对 url 重定向到其他站点的资源。

4)

  • forward:/代表当前 web 应用根目录
  • redirect:/代表当前 web 站点的根目录。
目录
相关文章
|
5月前
|
Java
Forward与redirect的区别
总结:Forward适合在同一个应用内部进行页面跳转和数据共享,效率高;Redirect适合在不同应用间或需要完全不同上下文的页面跳转,涉及两次请求,URL地址会改变。选择使用哪种方式取决于具体的需求和场景。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
147 0
|
5月前
|
搜索推荐 开发者 UED
HTTP 302 Redirect 解释与举例
HTTP 302 Redirect 解释与举例
|
10月前
|
Java Spring
SpringMVC中转发与重定向(redirect与forward)实践实例
SpringMVC中转发与重定向(redirect与forward)实践实例
162 0
|
11月前
forward内部跳转 和redirect重定向跳转的区别
forward内部跳转 和redirect重定向跳转的区别
|
11月前
|
JavaScript
HTTP header location 重定向 URL
HTTP header location 重定向 URL
|
12月前
每日一道面试题之forward 和 redirect 的区别?
每日一道面试题之forward 和 redirect 的区别?
Java中forward转发 和 redirect重定向的区别
Java中forward转发 和 redirect重定向的区别
|
Java API 容器
面试题系列之Servlet API中forward()与redirect()的区别
forward()与redirect()是servlet的两种主要的跳转方式。forward又叫转发,redirect叫做重定向。
189 0
面试题系列之Servlet API中forward()与redirect()的区别