问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

HTTP 状态码 301和302的区别?

发布网友 发布时间:2022-04-23 13:57

我来回答

2个回答

懂视网 时间:2022-05-12 22:39

302 Found 请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。 新的临时性的URI应当在响应的Location域中返回。除非这是一个HEAD请求,否则响应的实体中应当包含指向新的URI的超链接及简短说明。 如果这不是一个GET或者HEAD请求,那么浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。 注意:虽然RFC 1945和RFC 2068规范不允许客户端在重定向时改变请求的方法,但是很多现存的浏览器将302响应视作为303响应,并且使用GET方式访问在Location中规定的URI,而无视原先请求的方法。状态码303和307被添加了进来,用以明确服务器期待客户端进行何种反应。

这是从维基百科上找来的概念,看过后还是能看明白个大概吧。301是说访问的资源已经永久删除啦,客户端要根据新的URI访问重定向;而302的意思就是说访问的资源可能暂时先用location的URI访问,但旧资源还在的,下次你再来访问的时候可能就不用重定向了。

常用应用场景

  • 场景一 想换个域名,旧的域名不用啦,这样用户访问旧域名时用301就重定向到新的域名。其实也是告诉搜索引擎收录的域名需要对新的域名进行收录。

  • 场景二 登录后重定向到指定的页面,这种场景比较常见就是登录成功跳转到具体的系统页面。

  • 场景三 有时候需要自动刷新页面,比如5秒后回到订单详细页面之类。

  • 场景四 有时系统进行升级或者切换某些功能时,需要临时更换地址。

  • 场景五 像微博之类的使用短域名,用户浏览后需要重定向到真实的地址之类。

  • 代码演示

    public void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
     //请求重定向的例子 
     response.setStatus(301); 
     response.setHeader("Location", "http://127.0.0.1/login.htm");
    }

    在用户访问后浏览器都会重定向到http://127.0.0.1/login.htm

    301与302在选择上注意的问题

    302 重定向和网址劫持(URL hijacking) 从网址A 做一个302 重定向到网址B 时,主机服务器的隐含意思是网址A 随时有可能改主意,重新显示本身的内容或转向其他的地方。大部分的搜索引擎在大部分情况下,当收到302重定向时,一般只要去抓取目标网址就可以了,也就是说网址B。如果搜索引擎在遇到302 转向时,百分之百的都抓取目标网址B 的话,就不用担心网址URL 劫持了。问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取目标网址。比如说,有的时候A 网址很短,但是它做了一个302重定向到B网址,而B网址是一个很长的乱七八糟的URL网址,甚至还有可能包含一些问号之类的参数。很自然的,A网址更加用户友好,而B网址既难看,又不用户友好。这时Google很有可能会仍然显示网址A。由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL劫持的可能性。也就是说,一个不道德的人在他自己的网址A做一个302重定向到你的网址B,出于某种原因, Google搜索结果所显示的仍然是网址A,但是所用的网页内容却是你的网址B上的内容,这种情况就叫做网址URL 劫持。你辛辛苦苦所写的内容就这样被别人偷走了。302重定向所造成的网址URL劫持现象,已经存在一段时间了。不过到目前为止,似乎也没有什么更好的解决方法。在正在进行的谷歌大爸爸数据中心转换中,302 重定向问题也是要被解决的目标之一。从一些搜索结果来看,网址劫持现象有所改善,但是并没有完全解决。

    大体意思是会引起搜索引擎的排名,而且302重定向很容易被搜索引擎误认为是利用多个域名指向同一网站,那么你的网站就会被封掉。

    是说除非真是临时重定向使用302,其他的情况最好还是使用301吧

    参考资料

    HTTP状态码 https://zh.wikipedia.org/wiki/HTTP状态码

    http状态码301和302详解及区别——辛酸的探索之路 http://blog.csdn.net/grandpang/article/details/47448395

    302重定向 http://baike.baidu.com/view/2453504.htm

    注:此文章为原创,欢迎转载,请在文章页面明显位置给出此文链接! 若您觉得这篇文章还不错请点击下右下角的推荐,非常感谢! http://www.cnblogs.com/5207

    热心网友 时间:2022-05-12 19:47

    字面的区别就是301是永久重定向,而302是临时重定向。
    301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。

    302 Found 请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
    301比较常用的场景是使用域名跳转。302用来做临时跳转 。
    如:未登陆的用户访问用户中心重定向到登录页面。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    尼康s70的主要性能 聚酯纤维弄上油怎么洗聚酯纤维弄上油如何洗 聚酯纤维沾油了怎么洗 明明累却睡不着怎么回事 累的睡不着觉怎么办 千锋、黑马程序员、动力节点IT培训怎么样 传智播客前端培训怎么样? 传智播客的新媒体运营培训课程怎么样 传智播客就业怎么样 传智播客的Java培训怎么样? 安踏所有篮球鞋都适合打外场吗?除了水泥杀手和霸道 http状态302如何解决? 安踏球鞋ufo天体的底会磨烂吗? 安踏的篮球质量好吗 安踏的篮球怎么样,价位怎么样? 安踏的篮球鞋怎么样 安踏哪几款的篮球鞋最好? 安踏最好的篮球鞋是哪些? 安踏霸道来者不善外场实战篮球鞋41码能穿42码吗? 安踏的篮球怎么样? 安踏kt1pro适合什么季节穿 安踏哪款篮球最好? 【品牌专供】Anta安踏 KT7 氮科技 实战篮球鞋 灰色 十二水图怎么知道真的假 百万险包括哪几个险种? 安踏kt4和欧文5哪个值得买? 300元以下的实战篮球鞋推荐? 视频播放失败的处理办法? 视频播放不了怎么解决?求解 手机视频播放失败,是怎么回事? CMMI的等级是怎么划分的?*四级五级是啥意思?找了证优客,说要先做*,是这样吗? 【图】安踏最好的篮球鞋是哪一款 HTTP 状态消息 200 302 304 403 404 500 分别表示什么? 安踏要疯狂速战4鞋带多长 httpget code 302怎么处理 安踏的篮球好还是斯伯丁的好啊? “http_200”、“http_302”分别是什么意思? HTTP Error 302这个错误应该怎么解决呢? HTTP 状态码 302,301,304的的区别? httperror 302要怎么解决 请教http 302错误的解决办法 http协议状态码,302和303的区别 网站的HTTP状态码出302是怎么回事,求解决。 如何解决HTTP 302: 连接错误? HTTP返回状态码中301和302的区别 http response codes code 302 什么意思 http状态 302对seo有没有什么影响 301、404、500、200、304等HTTP状态,代表什么意思? 苹果电池不匹配会导致手机卡顿吗? http状态码307和301有什么区别呢 红米手机电充不进去,关机后充电显示电池不匹配自动断开充电,是怎么回事,需要怎么救