【业务功能篇95】web中的重定向与转发

web接口的返回值:

转发: return "/reg" 跳转到reg的html页面

重定向 return "redirect:/login.html" 重定向重新发起请求路径是 login.html 比如我们写的接口 @requestmap("/login.html")的的这个请求地址,重新请求

  • 目的:

转发:转发是在服务器端进行的页面跳转。它的主要目的是将请求传递给另一个资源(通常是另一个Servlet或JSP),以便在同一个请求过程中生成响应。

重定向:重定向是在客户端浏览器中进行的页面跳转。它的主要目的是告诉浏览器将请求发送到新的URL地址。

  • 位置:

转发:转发是服务器内部的操作,浏览器不知道它发生了转发,URL地址保持不变。

重定向:重定向是由服务器发送给浏览器的响应,浏览器会根据新的URL地址发起新的请求。

  • HTTP状态码:

转发:转发不会改变HTTP状态码。原始请求的HTTP状态码仍然保持不变。

重定向:重定向通常会返回HTTP状态码,例如 302 Found 或 301 Moved Permanently,以指示浏览器执行跳转。

  • 数据传递:

转发:转发可以在同一个请求中传递数据。原始请求和转发目标可以共享请求参数和属性。

重定向:重定向不会共享数据。任何数据都需要通过URL参数或会话来传递。

  • 性能:

转发:转发通常比重定向更快,因为它在服务器内部完成,不需要额外的网络请求。

重定向:重定向可能会导致额外的网络往返,因此性能较差。

  • 用途:

转发:适用于在同一个应用程序内部的不同组件之间进行页面导航,保持URL不变,共享数据。 重定向:适用于跨域页面跳转,或在不同的Web应用程序之间导航,或者在处理表单提交后避免用户刷新时的表单重复提交。

相关推荐
程序猿小D1 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa
奔跑吧邓邓子1 小时前
npm包管理深度探索:从基础到进阶全面教程!
前端·npm·node.js
前端李易安2 小时前
ajax的原理,使用场景以及如何实现
前端·ajax·okhttp
汪子熙2 小时前
Angular 服务器端应用 ng-state tag 的作用介绍
前端·javascript·angular.js
Envyᥫᩣ2 小时前
《ASP.NET Web Forms 实现视频点赞功能的完整示例》
前端·asp.net·音视频·视频点赞
Мартин.6 小时前
[Meachines] [Easy] Sea WonderCMS-XSS-RCE+System Monitor 命令注入
前端·xss
昨天;明天。今天。8 小时前
案例-表白墙简单实现
前端·javascript·css
数云界8 小时前
如何在 DAX 中计算多个周期的移动平均线
java·服务器·前端
风清扬_jd8 小时前
Chromium 如何定义一个chrome.settingsPrivate接口给前端调用c++
前端·c++·chrome
安冬的码畜日常8 小时前
【玩转 JS 函数式编程_006】2.2 小试牛刀:用函数式编程(FP)实现事件只触发一次
开发语言·前端·javascript·函数式编程·tdd·fp·jasmine