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 站点的根目录。