问题描述
- 关于转发和重定向,有大神可以给详细的说下区别么?
-
重定向就是在服务器端,先返回到浏览器端,然后才可以重定向到服务器端。
转发是在服务器端直接可以跳转到服务器端的另一个界面,。
有人可以详细说下重定向和转发的分别适用于何种环境下,和它们的详细区别么,谢谢了
解决方案
建议你下载一个叫fiddler的软件,它可以拦截http报文,亲自看下能加深你的理解
重定向的原理是服务器返回一个301/302的状态码,以及新的网址,客户端浏览器收到以后再请求新的页面。
转发则在客户端看来和直接返回了页面没有任何分别。转发相当于服务器做了反向代理。
解决方案二:
转发的隐蔽性更强,比如搜索引擎、客户端等都看不到转发的过程,而且作为转发一方的服务器也不知道客户端的存在。但是转发消耗服务器的资源。因为服务器直接获取目标主机的网页并且返回。同时效率也会比较差一些。
解决方案三:
1.转发:用户发送请求到服务器,服务器收到请求直接跳转到所要跳转的页面,所以页面跳转由服务器来执行
重定向:用户发送请求到服务器,服务器收到请求把所要跳转的页面路径反馈给客户端,告诉它去跳转到那个页面,然后客户端在跳转到所要执行的页面
2.通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页面,开始页面将会被重新调用
3.重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。
时间: 2024-08-03 10:35:18