概念

这是从维基百科上找来的概念,看过后还是能看明白个大概吧。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
09-11 04:24