2023.11.24 关于 请求转发 和 请求重定向 的区别

24 篇文章 0 订阅
订阅专栏

目录

请求转发(forward)

 请求重定向(redirect)

 二者区别

定义不同

请求方不同

数据共享不同

最终 URL 地址不同

代码实现不同


阅读下文之前 建议点击下方链接简单了解 Fiddle 

Fiddle 的安装与使用


请求转发(forward)

 实例理解

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/request")
public class RequestController {

//    请求转发
    @RequestMapping("/fw")
    public String fwIndex() {
        return "forward:/index.html";
    }

//    默认情况下这也是请求转发
    @RequestMapping("/index")
    public Object getIndex() {
        return "/index.html";
    }
}
  • 使用 Fiddle 来抓取和分析 HTTP 请求
  • 在浏览器的 URL 地址框中输入相对应地址,来调用上述代码的方法

 请求重定向(redirect)

实例理解

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/request")
public class RequestController {

//    请求重定向
    @RequestMapping("/rd")
    public String rdIndex() {
        return "redirect:/index.html";
    }
}
  • 使用 Fiddle 来抓取和分析 HTTP 请求
  • 在浏览器的 URL 地址框中输入相对应地址,来调用上述代码的方法

  • 第一个请求为 localhost:8080/request/rd
  • 第二个请求为 localhost:8080/index.html

 二者区别

  • 可细分为 5 大区别

定义不同

请求转发(Forward)

  • 发生在服务端程序内部
  • 当服务器收到一个请求之后,会先将请求转发给目标地址
  • 再将目标地址返回的结果转发给客户端

请求重定向(Redirect)

  • 指的是服务器端收到客户端的请求之后
  • 会给客户端返回一个临时响应头
  • 这个临时响应头中记录了 客户端需要再次发送请求(重定向)的 URL 地址
  • 客户端再收到了地址之后 会将请求发送到新地址上

请求方不同

请求转发(Forward)

  • 属于服务器端的行为
  • 服务器端代替客户端发送请求,并将结果返回给客户端

请求重定向(Redirect)

  • 属于客户端行为


数据共享不同

请求转发(Forward)

  • 由服务器端实现
  • 整个执行流程中,客户端只需要发送以此请求
  • 因此整个交互过程中使用的都是同一个 Request 请求对象 和 一个Response 响应对象
  • 所以整个请求过程中,请求和返回的数据是共享的

请求重定向(Redirect)

  • 向客户端发送两次完全不同的请求
  • 所以两次请求中的数据是不同的

最终 URL 地址不同

请求转发(Forward)

  • 由服务器端代为请求,再将结果返回给客户端
  • 所以整个请求的过程中 URL 地址是不变的

请求重定向(Redirect)

  • 由服务器端告诉客户端,需重新访问另一个地址
  • 所以浏览器会重新再发送一次请求
  • 因此客户端最终显示的 URL 并非刚开始请求的地址,所以 URL 地址发生了变化


代码实现不同

请求转发(Forward)

  • 使用 " forward:/index.html "

请求重定向(Redirect)

  • 使用 " redirect:/index.html "
Spring Security 6.x 系列(11)—— Form表单认证和注销流程
gmHappy
12-18 8069
① 首先,用户向未授权的资源 /private 发出未经身份认证的请求。 ② Spring Security 的 AuthorizationFilter 抛出 AccessDeniedException 异常。 ③ 由于用户未经过身份验证,因此 ExceptionTranslationFilter 将启动“启动身份验证”,并使用配置的 AuthenticationEntryPoint 将重定向发送到登录页。 ④ 浏览器请求重定向到的登录页面。 ⑤ 呈现默认登录页面。
2023年国家护网0day-poc/exp漏洞全汇总(目前已更新到91个..实时更新中...)
面向感觉挖洞,背向对象编程。欢迎关注VX公众号:EureKa安全团队
08-21 3411
2023年国家护网目前收集到的0day和1day漏洞的poc或者exp大汇总,截止目前已更新到91个漏洞,本文会实时更新,有新的漏洞都会加上
Springreturnreturn forwardreturn redirect 的区别
qq_28569341的博客
06-10 1766
Springreturn ""、 return "redirect:"和 return "forward:" 的区别
springBoot的转发和重定向
m0_67394006的博客
08-25 2607
转发:一次请求服务器内部调用其他的组件处理,request和response可以共用,有局限性,只能转发到本应用的中的某些资源,页面或者controller请求重定向:两次请求,地址会改变,request和response‘不能共用,不能直接访问WEB-INF下面的页面。//讲index.html放在resources/templates路径下。//默认就是转发,forward可省略。
Spring MVC 中的 forward 和 redirect 的简单理解
carrots
06-03 2542
forward 转发,如return "forward:/hello"; 浏览器的地址栏不会变,但是有视图返回来redirect 重定向,如return "redirect:/hello"; 浏览器的地址栏会变。网络解释:spring控制器最后返回一个ModelAndView(urlName),其中urNamel可以是一个视图名称,由视图解析器负责解析后将响应流写回客户端;也可以通过redirec...
WEB核心【请求转发(阶段重点)】第六章
日常学习总结
05-26 4934
本篇介绍了:请求转发的使用以及语法格式讲解,避免中文乱码的方式讲解,request域对象讲解,请求转发间做数据传递讲解,请求转发访问受保护目录
controller方法中return语句加关键字forward和redirect与否的区别
wx_csdn123的博客
12-02 3512
如果不加forward和redirect关键字,那么直接在return的字符串上添加springMVC配置文件里设置好的前缀和后缀,然后转发到资源。如果加上forward和redirect,那么就会根据关键字不同处理不同,如果是forward,那么不会拼接配置文件里设置的前缀和后缀,直接原字符串转发资源。如果是redirect则再向服务器发送一次新的请求forward和redirect的...
如来网址批量检测工具2023.11
11-18
如来网址批量检测工具2023.11是一款专为网站管理员和SEO从业者设计的专业软件,主要用于批量检查和验证网址的有效性。该工具能够帮助用户快速检测大量网址的状态,确保链接的可用性和正确性,从而提高工作效率,优化...
Vue--2023.6.23
weixin_65590235的博客
06-23 383
vue
Flutter 笔记 | Flutter 文件IO、网络请求、JSON、日期与国际化
川峰的博客
05-29 1646
Flutter 笔记 | Flutter 文件IO、网络请求、JSON、日期与国际化,Flutter 笔记 | Flutter 文件IO、网络请求、JSON、日期与国际化Flutter 笔记 | Flutter 文件IO、网络请求、JSON、日期与国际化Flutter 笔记 | Flutter 文件IO、网络请求、JSON、日期与国际化Flutter 笔记 | Flutter 文件IO、网络请求、JSON、日期与国际化Flutter 笔记 | Flutter 文件IO、网络请求、JSON、日期与国际化Flu
Spring MVC 转发 重定向 的 知识。
qq_37931418的博客
12-29 158
@ResponseBody这个注解通常使用在控制层(controller)的方法上,其作用是将方法的返回值以特定的格式写入到response的body区域,进而将数据返回给客户端。当方法上面没有写ResponseBody,底层会将方法的返回值封装为ModelAndView对象。 ———————————————— 版权声明:本文为CSDN博主「sunroyfcb」的原创文章,遵循 CC 4.0 BY...
Spring MVC 重定向和转发
Be Like
03-27 284
写一个商城的项目,需要在跳转的时候实现一些需求,通过查看资料总结一下。 1、通过return 字符串的方式映射到目标controller 这种方式是浏览器给服务器发一个response,服务器接收后向浏览器回复一个request,所以最后在浏览器显示的url是你请求时的url,对应下边的"/login_check"。 @RequestMapping("/login_check") public ...
安卓 java 映射目录_Java Spring Boot:如何将我的应用程序根目录(“/”)映射到index.html?...
weixin_33272515的博客
02-25 513
Java Spring Boot:如何将我的应用程序根目录(“/”)映射到index.html?我是JavaSpring的新手。如何将我的应用程序根registry.addResourceHandler("/").addResourceLocations("/index.html");映射到静态index.html?如果我导航到http://localhost:8080/index.html它的...
解决Could not resolve view with name ‘forward:/index.html‘ in servlet with name ‘dispatcherServlet‘
weixin_44019496的博客
10-28 1954
解决Could not resolve view with name 'forward:/index.html' in servlet with name 'dispatcherServlet'
前端项目打包放到springboot项目时,访问不带index.html
最新发布
技术交流,进来交个朋友
11-24 1167
将前端项目打包后的dist文件放置在 Spring Boot 项目的静态资源目录中。您可以将前端项目打包后的文件放置在 Spring Boot 项目的静态资源目录(通常为 /src/main/resources/static/)中,然后通过访问不带 index.html 的路径来直接进入前端页面。1,在 Spring Boot 项目中添加一个路由规则,将所有对特定路径的请求重定向到前端页面。这些方法中的任何一种都可以帮助您实现访问不带 index.html 的路径时直接进入前端页面的需求。
Springmvc中响应之使用forward和redirect
你今天真好看呀
11-14 778
forward请求转发 controller方法返回String类型,想进行请求转发也可以编写成 <a href="user/testForwardOrRedirect">测量testForwardOrRedirect</a> @Controller @RequestMapping("/user") public class UserController { ...
探究请求转发重定向的核心区别
资源摘要信息:"在Web开发中,请求转发Forwarding)和重定向(Redirection)是两种实现页面跳转的常见技术手段,尽管它们都能达到类似的效果,即从一个页面跳转到另一个页面,但它们在内部机制、适用场景、优缺点等...
写文章

热门文章

  • 2021.12.2 关于c语言实现三子棋(井字棋) 5084
  • 2023.11.9 IDEA 配置 Lombok 4556
  • 2021.11.22 关于函数的递归 3026
  • 2023.12.22 关于 Redis 数据类型 String 常用命令 2403
  • 2024.1.6 关于 Redis 数据类型 Zset 常用命令 2369

分类专栏

  • SpringCloud 6篇
  • 测试开发 14篇
  • 环境配置 7篇
  • 模拟实现 RabbitMQ 11篇
  • mysql 3篇
  • Redis 26篇
  • C语言 14篇
  • 数据结构UP 1篇
  • Java 基础 4篇
  • Spring 24篇
  • 云服务器 1篇
  • JVM 2篇
  • 网络 8篇
  • 三子棋 1篇
  • 多线程 14篇
  • 扫雷 1篇
  • 文件IO 2篇

最新评论

  • 2024.5.1【项目测试报告】模拟微信实现网页聊天室

    三千寒: 老哥,有这个聊天室的网页链接吗

  • 2024.5.22 关于 SpringCloud —— Nacos 配置管理

    CSDN-Ada助手: 不知道 Java 技能树是否可以帮到你:https://edu.csdn.net/skill/java?utm_source=AI_act_java

  • 2024.5.6 关于 SpringCloud 的基本认知

    2401_84584289: 这篇文章是优质之作,内容充实,结构明晰,语言流畅且通俗易懂,适合广大读者阅读。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 2024.2.23 模拟实现 RabbitMQ —— 实现消费消息逻辑

    白话机器学习: 内容丰富图文并茂,认真看完收获很大。思路清晰细节满满,支持大佬优质好文。

  • 2024.2.21 模拟实现 RabbitMQ —— 实现转发规则

    白话机器学习: 通过文章可以看出,博主很有耐心,技术文章不仅是对技术的坚守,更是对知识的热忱和热爱,感谢您的优质分享和坚持更文。期待着博主更加深入的剖析,为大家带来更多的技术好文。

最新文章

  • 2024.5.22 关于 SpringCloud —— Nacos 配置管理
  • 2024.5.10 关于 SpringCloud —— Nacos 的基本认知
  • 2024.5.9 关于 SpringCloud —— Nacos 的安装与配置
2024年38篇
2023年79篇
2022年7篇
2021年9篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茂大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家道教玻璃钢雕塑施工福建主题商场美陈多少钱知名玻璃钢雕塑价格行情阜阳景观玻璃钢雕塑吉林公园玻璃钢雕塑销售电话进口玻璃钢花盆四川人物玻璃钢雕塑设计贵阳玻璃钢花盆批发价格江都玻璃钢头像雕塑常德玻璃钢浮雕人物山水雕塑东莞玻璃钢雕塑品广东超市商场美陈制造景区玻璃钢雕塑工厂北京装饰商场美陈生产厂家海南玻璃钢雕塑美陈装饰玻璃钢花盆简笔画图片南京玻璃钢雕塑保养创富玻璃钢雕塑厂银川人物玻璃钢雕塑设计北京多彩玻璃钢雕塑多少钱贵安新区玻璃钢雕塑定做电话玻璃钢可妮兔雕塑玻璃钢景观雕塑厂商盐城玻璃钢仿铜雕塑定制供应北京装饰商场美陈价格商场装饰玻璃钢卡通雕塑要求北京装饰商场美陈批发价山东玻璃钢花盆玻璃钢半身龙雕塑摆件山东玻璃钢雕塑摆件多少钱香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化