概念
这是从维基百科上找来的概念,看过后还是能看明白个大概吧。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重定向很容易被搜索引擎误认为是利用多个域名指向同一网站,那么你的网站就会被封掉。
是说除非真是临时重定向使用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