• Servlet详解(五)--重定向与转发


    重定向与转发本质都是跳转到新的URL

    下面是图解:

    重定向与转发的本质区别在于:转发是一个服务端的行为,而重定向是一个浏览器的行为。

    一、过程:

    转发:浏览器发送请求到服务器==》Server根据Servlet内部代码将请求转发至新的Servlet(jsp,html,Request还是原先那个)==》新的Servlet将响应返回至Client端

    特点:转发必须在同一个web服务器里面(否则服务器无权转发),一次转发对于client是不可见的,client只能看见自己发出一次请求,收到一次响应,URL依然是第一次访问的路径。Request与Response相同。

    重定向:client第一次向server发出请求==》server通过servlet选择重定向并向client作出响应==》响应返回状态码为302,内容包括location地址==》client接收到响应并解析响应包,向新的location发起第二次访问请求(url已经成为第二次的路径,且一个新的Request)==》访问到地址二后,地址二作出第二次响应

    特点:转发是可以在多个服务器的(百度点击都是重定向),重定向对于client来说是两次访问,第二次url也会改变,Request与Response都是两个。

    当然,转发虽然限制比较大(同一个web服务器),但是速度会比重定向快(省略掉了一次http请求(握手挥手等操作))。

  • 相关阅读:
    1635:【例 5】Strange Way to Express Integers
    1633:【例 3】Sumdiv
    1632:【 例 2】[NOIP2012]同余方程
    1631:【例 1】青蛙的约会
    1629:聪明的燕姿
    1628:X-factor Chain
    1627:【例 3】最大公约数
    1626:【例 2】Hankson 的趣味题
    file_put_contens小trick
    billu b0x2靶机渗透
  • 原文地址:https://www.cnblogs.com/qqwhsj/p/10860854.html
Copyright © 2020-2023  润新知