redirect场景,一般来说,会有大量用户在收藏夹里放着你的官网主页。但是用户收藏的url未必会跟着官网url的变动一起自动更新
这个官网主页因为一些其他的原因,需要迁服务器或者换ip等等。所以在换之前要搞一个redirect,把访问引流到新网址上面,类似这种场景,就要去考虑到301和302有哪些区别
301表示旧地址的资源已经被永久地移除了,在浏览器发出原始请求后重定向到新地址,浏览器会缓存这个请求,等下次再次访问原始地址时会直接请求到新地址去。同时搜索引擎也会更新,把原来地址的权重转移给新地址的权重,301主要是影响这方面的。
302表示旧地址的资源还在,但是是临时转移(24~48小时这个时间区间) ,因为某些原因需要用户临时移动,比如网站停机一会,暂时从官网迁移到维护画面,这样浏览器就不会去缓存这次跳转,同时上面说的搜索引擎也不会更新本次处理权重。其他的一般比如内部跳转Response.Redirect("Test.aspx")
直接302就行,不用纠结
总结:
如果是站在内部网页跳转需要用到redirect的角度看,那么直接302即可
如果是站在搜索引擎进来,我要保住我的DNS在搜索引擎里的权重,那么就301。在SEO(搜索引擎优化)中提到一点:如果我们把一个地址采用301跳转方式跳转的话,搜索引擎会把老地址的PageRank等信息带到新地址,同时在搜索引擎索引库中彻底废弃掉原先的老地址。