请求转发和重定向的区别以及什么时候使用

转发过程(不改变网址)

客户浏览器发送http请求——》web服务器接受此请求——》调用内部的一个方法在容器内部完成请求处理和转发动作——》将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为是浏览器只做了一次访问请求。

重定向过程(网址改变)

客户浏览器发送http请求——》web服务器接受后发送302状态码响应及对应新的location给客户浏览器——》客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址——》服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。

使用时机

1.使用了request域的时候,必须用请求转发。

2.当前后两个页面有数据传递时,例如查询了数据需要在页面显示时,用请求转发

3.访问站外资源的时候用重定向。

4.当没有数据传递,例如做了更新操作跳转到其他页面,就用重定向。

5.其他随意

请求转发和重定向的区别以及什么时候使用相关推荐

  1. 请求转发与重定向的区别和执行流程

    请求转发与重定向的区别和执行流程 文章目录 请求转发与重定向的区别和执行流程 1 请求转发与重定向区别 2 现实生活的例子 2.1 重定向 2.2 请求转发 3 重定向-流程图.代码.结果 3.1 流 ...

  2. 请求转发和重定向的区别_WEB之重定向和请求转发的区别

    一次重定向的过程 我的代码里面已经写好了,redirectAndFoward.jsp页面上有一个表单,表单重定向到redirectAndFowardTarget.jsp,那么这一次的重定向过程为: 1 ...

  3. 请求转发与重定向的区别

    重定向与转发的区别: 1.重定向访问服务器两次,转发只访问服务器一次. 2.重定向可以看见目标页面的URL,转发只能看见第一次访问的页面URL,以后的工作都是有服务器来做的. 3.重定向跳转后必须加上 ...

  4. 请求转发和重定向的区别及什么时候使用

    一.重定向与请求转发的区别 1.转发是服务器行为,重定向是客户端行为. 为什么这样说呢,这就要看两个动作的工作流程: 转发过程:客户浏览器发送http请求-->web服务器接受此请求--> ...

  5. 请求转发和重定向的区别

    请求转发是一次请求,一次响应,而重定向是两次请求和两次响应 请求转发的地址栏不变化,而重定向会显示重定向以后的地址 请求转发只能转发到本项目的其它Servlet,而重定向还可以定向到其它项目 请求转发 ...

  6. 请求转发和重定向的理解和区别

    请求转发(forward) 一个web资源接收到客户端请求后,通知浏览器去调用另外一个web资源进行处理,称之为请求转发. 转发过程:客户浏览器发送http请求---->web服务器接受此请求- ...

  7. jsp:请求转发和重定向

    HttpServletResponse对象的sendRedirect(String location)方法称作重定向, 如果location地址前面加上"/",则表示相对于Serv ...

  8. 浅析请求转发和重定向

    浅析请求转发和重定向 1.请求转发 request.getRequestDispather("/indexServlet").forword(request,response); ...

  9. java 根据客户端重定向_Java Web笔记 - 转发与重定向的区别与在FireBug客户端的表现...

    1.转发: RequestDispatcher的forward(request, response)称为请求转发. request的getRequestDispatcher和getRequestDis ...

最新文章

  1. 大工14春《计算机应用基础》在线测试2,大工14春《计算机应用基础》在线测试2...
  2. SQL Server 2005 数据库邮件 使用要点
  3. 怎样把centos 6.2 系统里的网卡em1还原为eth0
  4. python xlwt写入excel_python xlwt模块写入excel超过65536行报错问题解决方法
  5. Vue3、TypeScript 实现图片数量及大小随宽度自适应调整
  6. PHP 隐藏真实下载地址
  7. mysql碎片data free_浅析MySQL数据碎片的产生(data free)
  8. jquery $.post 超时_详解如何实现前端jquery中的ajax方法,看这一篇就够了
  9. 24点可不可以用计算机算出,24点计算器
  10. Au入门系列之九:多轨混音
  11. 【科技检索报告】基于大规模浮动车GPS数据的实时地图匹配方法
  12. android 手机如何截图,原来安卓手机有这么多种截屏方式 最后两种一般人不会用...
  13. 你同学都身价上亿了,你还在纠结早晨几点能起床
  14. 准备要注销的公司,但是公司名下商标怎么处理?
  15. Tomcat开启APR模式并设置Tomcat为开机自启动服务
  16. tns:无监听 解决之一:由于 linstener.log 贮存过满导致
  17. 获取当前登录用户的IP地址代码
  18. 唉,早知如此,何必当初
  19. 《计算机网络技术》第四章课后习题答案(全)
  20. C#语言 Asp.net学生考勤管理系统考勤管理系统.net学生迟到早退考勤查询系统(asp考勤管理系统源码)

热门文章

  1. linux 备份iphone,备份苹果硬盘的数据
  2. nas网络存储服务器性能要求,NAS系统的优缺点全面介绍
  3. 转区系统开放艾欧尼亚转入服务器,LOL转区系统申请客户端及操作流程介绍
  4. Python 读取.msg文件中的附件和内容
  5. 谷歌公布13GB 3D扫描数据集:17大类、1030个家用物品
  6. 专升本笔记记载-第七章-无穷级数
  7. 对DestoryWindow的解释.
  8. 溯源(六)之溯源的方法
  9. 硬纪元干货|appMagics伏英娜:优质IP和直播内容嫁接,带来全新AR体验
  10. HM-GNN:基于分子-基序异构图神经网络的分子表示学习模型