请问重定向与请求转发有什么区别?

 我来答
LOVE生活
推荐于2019-11-09 · 时尚优质答主
LOVE生活
采纳数:59 获赞数:26218

向TA提问 私信TA
展开全部

一、目标不同

转发是服务器行为,重定向是客户端行为 。

二、请求次数不同

1、重定向是两次request 。

第一次,客户端request一个网址,服务器响应,并response回来,告诉浏览器,你应该去别一个网址。

2、请求转发只有一次请求

三、网址定位不同

重定向的网址可以是任何网址,请求转发只能是指定网址。

四、导致的结果不同

不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点等。

1、网站调整(如改变网页目录结构);

2、网页被移到一个新地址;

3、网页扩展名改变(如应用需要把.php改成.Html或.shtml)。

参考资料:百度百科-重定向

网易云信
2023-12-06 广告
在新设备(或卸载重装)登录时,服务器记录的漫游消息将自动同步到客户端SDK。消息漫游默认是关闭的,打开方式:登录云信控制台 > 选择[应用] > 基础功能 > 消息漫游。... 点击进入详情页
本回答由网易云信提供
我欲去远方
高粉答主

推荐于2019-11-03 · 说的都是干货,快来关注
知道答主
回答量:4
采纳率:100%
帮助的人:2.3万
展开全部

重定向和请求转发的区别

1、重定向是两次请求,转发是一次请求,因此转发的速度要快于重定向

2、重定向之后地址栏上的地址会发生变化,变化成第二次请求的地址,转发之后地址栏上的地址不会变化,还是第一次请求的地址

3、转发是服务器行为,重定向是客户端行为。重定向时浏览器上的网址改变 ,转发是浏览器上的网址不变

4、重定向是两次request,转发只有一次请求

5、重定向时的网址可以是任何网址,转发的网址必须是本站点的网址

扩展资料:

网站重定向的注意事项

1.若准备将服务器上的文件移到其它地方时,须就以下信息正确地通知搜索引擎的爬行程序:

目标地址:这些文件被移向何方

移动属性:暂时移走还是永久性移走

2.对拥有多个域名的网站,专家建议应把那些不想在搜索引擎上推广的域名用301跳转命令来永久性重定向,确保网站实施了正确的301重定向。

参考资料:重定向-百度百科



本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
劍指長空明德
推荐于2019-09-08 · TA获得超过1.5万个赞
知道答主
回答量:47
采纳率:100%
帮助的人:2.1万
展开全部

请求转发和重定向的区别:

(一)、request.getRequestDispatcher()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;服务器内部转发,整个过程处于同一个请求当中。

response.sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。不在同一个请求。重定向,实际上客户端会向服务器端发送两个请求。

所以转发中数据的存取可以用request作用域:request.setAttribute(), request.getAttribute(),重定向是取不到request中的数据的。只能用session。

(二)、forward()更加高效,在可以满足需要时,尽量使用RequestDispatcher.forward()方法。 

(三)、RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,是属于请求对象的方法。

sendRedirect()是HttpServletResponse对象的方法,即响应对象的方法,既然调用了响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行的结果。

(四)、重定向可以跨域访问,而转发是在web服务器内部进行的,不能跨域访问。

扩展资料

关于重定向:

我们在网站建设中,时常会遇到需要网页重定向的情况:

1.网站调整(如改变网页目录结构);

2.网页被移到一个新地址;

3.网页扩展名改变(如应用需要把.php改成.Html或.shtml)。

这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点等。

参考链接  百度百科  重定向

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喜欢这种方式
2019-12-23 · TA获得超过7852个赞
知道大有可为答主
回答量:5903
采纳率:72%
帮助的人:516万
展开全部
重定向是有方向性的,而请求转发,咋还有未知的方向?后者比前者更普遍和宽泛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b323444
2017-08-10 · TA获得超过892个赞
知道答主
回答量:79
采纳率:100%
帮助的人:5.3万
展开全部
web项目都是在tomcat容器中完成的;
web组件:servlet(java代码)和jsp俩种;
重定向:只限定在servlet中,通过改请求的url-pattern值,响应给另一个请求response.sendRedirect(“url-pattern值”);是俩次请求了。
转发:servlet(java代码)和jsp之间的传递,肯定就是转发了。一次请求。
(为了好理解,可能说的绝对了)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式