【业务功能篇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应用程序之间导航,或者在处理表单提交后避免用户刷新时的表单重复提交。

相关推荐
柳如烟@3 分钟前
零基础,使用Idea工具写一个邮件报警程序
java·服务器·前端
用户408128120038110 分钟前
音频格式
前端
胡gh10 分钟前
React组件实用,每个组件各司其职,成为信息管理大师
前端·react.js
namehu10 分钟前
从 ESLint 到 Oxlint:一次提速百倍的前端 Lint 工具链升级实战
前端·javascript·eslint
凯心12 分钟前
前端学习 vben 之 axios interceptors
前端·javascript
sophie旭13 分钟前
《深入浅出react》总结之 10.2 渲染阶段流程探秘-completeWork
前端·react.js·源码
拾光拾趣录13 分钟前
单点登录(SSO):实现跨系统无缝访问
前端·后端
程序员老廖15 分钟前
Markdown 功能支持测试文档
前端
Mintopia18 分钟前
当像素学会游泳:流体模拟的奇妙旅程
前端·javascript·计算机图形学
程序员厉飞雨22 分钟前
Gradle 缓存优化
前端·架构