美文网首页
剖析请求转发和重定向

剖析请求转发和重定向

作者: coderymy | 来源:发表于2019-04-30 13:02 被阅读0次

    原理

    forward(转发)

    服务器请求资源,服务器访问目标地址的URL,再将相应的内容读取出来,然后将这些内容发给浏览器,但是对于浏览器来说,它根本不知道是那个路径给它的数据或者页面跳转的响应,也不需要知道,所以对于地址栏来说,还是原本的那个请求的地址,所以总的来说,请求转发的根本在于服务器,是服务器行为,客户端无法知道

    redirect(重定向)

    重定向的后台发送一个请求给客户端,让客户端进行页面的跳转,这个时候的根本在于客户端本身,执行的操作也是客户端进行的跳转,就相当于后端告诉你,去XXX地址,然后客户端将页面的地址栏改成XXX进行访问。

    区别

    • 速度
      请求转发比重定向速度快
    • 地址栏
      请求转发显示的地址栏并不是当前页面地址,但是重定向显示的是当前页面地址(会暴露该地址,别人可能会直接访问)
    • 功能
      请求转发一般作用于登录,需要根据角色来转换不同的组件或者模块,但是重定向一般可以作为页面账户的注销,页面跳转指向等
    • 数据
      请求转发可以携带数据,但是重定向不能将该次的数据在request这种域对象中获取,也就是说,本次的访问请求和响应时不携带数据返回客户端(是因为重定向是两次的请求和响应,其中进行数据传递时丢失了)
    • 例子
      请求转发就相当于学生问老师问题,这个老师直接给出了答案
      重定向是相当于这个老师也不知道这个问题,他问了别的老师,然后别的老师再给出这个学生答案。

    相关文章

      网友评论

          本文标题:剖析请求转发和重定向

          本文链接:https://www.haomeiwen.com/subject/tknmnqtx.html