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

相关推荐
zhangzeyuaaa16 分钟前
Ruby 多线程、GVL(GIL)与 Mutex 完全指南
开发语言·前端·ruby
默_笙43 分钟前
🌊 向量库和 ES 都查不出"关系",我只好给奶茶建了一张人脉网
前端·javascript
优选资讯1 小时前
标签打印软件怎么对接 Excel 数据
前端·excel
一个风轻云淡2 小时前
GCC 和 GDB命令简单解读
java·linux·前端
u0111026753 小时前
图片处理接口如何统一错误信息 前端提示与后端错误码设计
前端·状态模式
福兮说3 小时前
浏览器里把 iPhone 的 HEIC 转成 JPG:Chrome 解不开、转完大了七成、拍摄时间全丢,六个坑实测
前端·javascript·图像处理·chrome·ios·iphone·heic
libokaifa3 小时前
把语音模型塞进手机:sherpa-onnx 在 Android 上的 ASR / TTS
前端
deli0074 小时前
DLA 枝晶生长实测:5000 个粒子集体停摆之后,分形维数收敛到 1.70
前端
IT_陈寒4 小时前
Redis卡顿的锅,这次真不是大key的错
前端·人工智能·后端
可乐鸡翅yeah_4 小时前
video.js 集成 hls.js 开发 M3U8 播放器,新手高频踩坑
开发语言·前端·javascript·后端·ecmascript·m3u8·音视频在线播放