请你说明 forward 和redirect的区别?

请你说明 forward 和redirect的区别?

  1. 定义不同

redirect(间接转发方式):实际上是两次请求,服务器在响应第一次请求的时候,让浏览器再向另外一个 URL 发出请求,从而达到转发的目的
forward(直接转发请求): 客户端/浏览器只发送了一次请求,有第二个信息资源响应该请求,在请求对象的 Request 中,保存的对象对于每个信息资源是共享的

  1. 请求方不同
  • redirect 客户端发起的请求
  • forward 服务器发起的请求
  1. 浏览器表现地址不一样

redirect: 浏览器地址显示被请求的 url
forward:浏览器地址不显示被请求的 url

  1. 参数传递不同
  • redirect:重新开始一个 Request,原先的 Request 生命周期结束
  • forward: forward 另外一个连接的时候,request 变量的是在其生命周期内的,另外一个页面也可以使用,本质是吧目标地址 include
  1. 底层运作不同
  • redirect: 发送的请求信息有发给客户端,让客户端在转发到另外一个资源上,需要在服务器和客户端之间在增加一次通信
  • forward: 服务器端直接找到目标,并 include 过来

猜你喜欢

转载自www.cnblogs.com/gclm/p/11875941.html
今日推荐