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

相关推荐
发现一只大呆瓜23 分钟前
AI流式交互:SSE与WebSocket技术选型
前端·javascript·面试
m0_719084111 小时前
React笔记张天禹
前端·笔记·react.js
Ziky学习记录2 小时前
从零到实战:React Router 学习与总结
前端·学习·react.js
wuhen_n2 小时前
JavaScript链表与双向链表实现:理解数组与链表的差异
前端·javascript
wuhen_n2 小时前
JavaScript数据结构深度解析:栈、队列与树的实现与应用
前端·javascript
狗哥哥2 小时前
微前端路由设计方案 & 子应用管理保活
前端·架构
前端大卫3 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘3 小时前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare3 小时前
浅浅看一下设计模式
前端
Lee川3 小时前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试