首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >请求转发和重定向区别

请求转发和重定向区别

作者头像
名字是乱打的
发布于 2022-05-13 12:52:49
发布于 2022-05-13 12:52:49
1.2K0
举报
文章被收录于专栏:软件工程软件工程
代码语言:javascript
复制
转发和重定向的过程:
request.getRequestDispatcher(URL地址).forward(request, response)
转发:浏览器发送http请求给服务器,服务器接受请求,在内部调用方法在完成请求处理和转发动作将目标资源发送给浏览器。
(整个过程是一次请求,该请求也可以被转发n次,这n次都使用同一对request和response)
response.sendRedirect(URL地址)
重定向:浏览器发送http请求给服务器,服务器接受后发送302状态码和要重定向的location给浏览器,浏览器发现响应头中
是302,则自动给新的location发送一个新的http请求,服务器接收这个请求,处理并发送资源给客户。(整个过程有两次请
求,每次请求都会产生新的request和response,所以这就是将信息存放到request域中后,不能使用重定向的原因)

路径问题:
请求转发路径写内部枯井 无需加项目路径
重定向访问的可能是外部资源 需要加项目路径${pageContext.request.contextPath}
安全问题
请求转发地址栏中不会显示转发到的网页只显示转发页
重定向相当于重新发送了http请求,所以会打开新的重定向网页,地址栏也显示重定向到达的网页
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档