社区
Web 开发
帖子详情
谈谈“请求转发”和“重定向”的区别!
sunrongrong
2009-06-10 10:20:54
求高手谈谈“请求转发”和“重定向”的区别。以及各自用法。补充谈谈URL重写,以及用法!谢谢。越详细越好!
...全文
401
12
打赏
收藏
谈谈“请求转发”和“重定向”的区别!
求高手谈谈“请求转发”和“重定向”的区别。以及各自用法。补充谈谈URL重写,以及用法!谢谢。越详细越好!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Tim_Chase
2009-08-04
打赏
举报
回复
学习了..支持支持
qusic
2009-06-11
打赏
举报
回复
说简单点,转发是只在服务器端进行的,客户端只进行了一次请求。
重定向是服务器接受第一次请求后回复给浏览器一个重定向指令,
要求浏览器去访问另外一个URL,是服务器端和浏览器端交互进行的
客户端进行了两次请求。
weiluo12
2009-06-11
打赏
举报
回复
刚浏览到一个
URL重写
http://www.chedong.com/tech/google_url.html
a1405
2009-06-11
打赏
举报
回复
看了下说的都很全了,还有就是request范围内的属性,
请求转发时还有,重定向时则没有。
这也是很多时候用请求转发而不用重定向的原因~
小霍夫
2009-06-11
打赏
举报
回复
上面说了那么多了,也讲得很好
robyjeffding
2009-06-10
打赏
举报
回复
[Quote=引用 1 楼 weiluo12 的回复:]
两种转向的区别:
a.forward跳转到的页面能够接受到request设置的属性,而sendRedirect不能
(所它得使用比request范围更广的session设置属性)
b.forward跳转到的页面不必写全路径名,而sendRedirect必须写全路径名
c.forward不能跳转到此web项目以外的连接,而sendRedirect可以跳转到此web项目以外的连接
d.forward跳转后地址栏显示不变,而sendRedirect跳转后显示的是目标的地址信息
e.for…
[/Quote]
支持一下,讲得很详细了
izard999
2009-06-10
打赏
举报
回复
[Quote=引用 1 楼 weiluo12 的回复:]
两种转向的区别:
a.forward跳转到的页面能够接受到request设置的属性,而sendRedirect不能
(所它得使用比request范围更广的session设置属性)
b.forward跳转到的页面不必写全路径名,而sendRedirect必须写全路径名
c.forward不能跳转到此web项目以外的连接,而sendRedirect可以跳转到此web项目以外的连接
d.forward跳转后地址栏显示不变,而sendRedirect跳转后显示的是目标的地址信息
e.for…
[/Quote]
这个讲得很好了.
UP
heavilyarmed
2009-06-10
打赏
举报
回复
[Quote=引用 1 楼 weiluo12 的回复:]
两种转向的区别:
a.forward跳转到的页面能够接受到request设置的属性,而sendRedirect不能
(所它得使用比request范围更广的session设置属性)
b.forward跳转到的页面不必写全路径名,而sendRedirect必须写全路径名
c.forward不能跳转到此web项目以外的连接,而sendRedirect可以跳转到此web项目以外的连接
d.forward跳转后地址栏显示不变,而sendRedirect跳转后显示的是目标的地址信息
e.for…
[/Quote]
支持,讲的很好,学习了
lababawan
2009-06-10
打赏
举报
回复
请求转发时一次请求一次响应
重定向是两次请求两次响应
windy731
2009-06-10
打赏
举报
回复
转发流程:
客户端A(发送请求到服务器B) -> 服务器B(将请求发送到服务器C) -> 服务器C(处理请求,将结果返回到服务器B) -> 服务器B(将服务器C返回的结果返回到客户端A显示) -> 客户端A(显示结果)
重定向流程:
客户端A(发送请求到服务器B) -> 服务器B(将新的请求地址返回给客户端A) -> 客户端A(拿到新地址,并自动向新地址发送请求) -> 服务器C(处理请求并将结果返回给客户端A) -> 客户端A(显示结果)
PS:转发时地址栏中的地址不会改变,重定向会改变地址栏中的地址
URL重写,通常是通过过滤器实现,流程大致如下:
客户端A(发送请求到服务器B) -> 服务器B(分析重写的URL,将请求发送到对应的操作,并将结果返回到客户端A显示) -> 客户端A(显示结果)
qiheia
2009-06-10
打赏
举报
回复
1,转发时一次请求,重定向是2次请求
2,转发地址栏不会发生改变,重定向地址栏会改变
3,转发在项目内,重定向可以转到项目外。
url重写。。。。。。。
就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程。举个例子来说,如果通过浏览器进来的URL是 “www.mysite.com/UserProfile/1.aspx”,那么它可以被重写成 “www.mysite.com/UserProfile.aspx?ID=1”这样的URL,这样的网址可以更好的被网站所阅读。
重写URL是非常有用的一个功能,因为它可以让你提高搜索引擎阅读和索引你的网站的能力;而且在你改变了自己的网站结构后,无需要求用户修改他们的书签,无需其他网站修改它们的友情链接;它还可以提高你的网站的安全性;而且通常会让你的网站更加便于使用和更专业。
URL重写式会话跟踪的最低公分母?,当客户机不接受cookie时,server就使用URL重写作为会话跟踪的基本方式.URL重写,添加了附加数据(会话ID)到请求的URL路径上.
会话ID必须被编码作为该URL字符串中的路径参数。该参数的名称为jsessionid,例如:
http://www.myserver.com/catalog/index.html;jsessionid=1234
weiluo12
2009-06-10
打赏
举报
回复
两种转向的区别:
a.forward跳转到的页面能够接受到request设置的属性,而sendRedirect不能
(所它得使用比request范围更广的session设置属性)
b.forward跳转到的页面不必写全路径名,而sendRedirect必须写全路径名
c.forward不能跳转到此web项目以外的连接,而sendRedirect可以跳转到此web项目以外的连接
d.forward跳转后地址栏显示不变,而sendRedirect跳转后显示的是目标的地址信息
e.forward跳转的速度相对而言比sendRedirect跳转的速度要快
转发与
重定向
的
区别
描述转发与
重定向
的
区别
,讲的比较详细,希望大家喜欢.
Web 常见面试题
3. http 中
重定向
和
请求转发
的
区别
(8个) 4. Cookie 和 Session
区别
5. 什么是 jsp,什么是 Servlet?jsp 和 Servlet 有什么
区别
? 6. jsp 有哪些域对象和内置对象及他们的作用 7. 过滤器和监听器是什么,有什么用...
20年Javaweb视频教程
从零基础讲解动态网页技术和Http协议、消息体核心知识和媒体类型 掌握BS/CS架构和Tomcat应用服务器核心知识 从0搭建Win10+Mac双环境搭建javaweb+idea+maven环境 掌握新版Servlet3.0+生命周期、
请求转发
和
重定向
核心...
java面试题
int和Integer有什么
区别
? 答:int是java的原始数据类型,Integer是java为int提供的封装类,java为每个原始数据类型都提供了封装类。 String和StringBuffer的
区别
? 答:String是不可变的对象,每次对String类型进行...
asp.net知识库
C#中 const 和 readonly 的
区别
利用自定义属性,定义枚举值的详细文本 Web标准和ASP.NET - 第一部分 XHTML介绍 在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用编码工具类,支持base...
Web 开发
81,091
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章