重定向是一个看似简单,实际很复杂的问题。HTTP状态码一共才五个系列(1XX,2XX,3XX,4XX,5XX),而重定向状态码被单独作为一个系列(3XX)存在,足以说明它的重要性,但是很多人认为知道301/302的区别就算熟悉重定向了,这实在是一大谬误。
重定向(Redirect)用于将用户从一个URL重新路由到另一个URL。重定向有很多种...301和302是最常见的两种。通常针对HTML文档进行重定向,但通常也可能用在请求页面中的组件(图片,脚本等)时。实现重定向可能有很多不同的原因,包括网站重新设计、跟踪流量、记录广告点击和建议记忆的URL等。
这里要简单地说下 3XX的一些重定向
300 Multiple Choices :可选重定向,表示客户请求的资源已经被转向到另外的地址了,但是没有说明是否是永久重定向
还是临时重定向。
301 Moved Permancently :永久重定向,同上,但是这个状态会告知客户请求的资源已经永久性的存在在新的重定向的
URL上。
302 Moved Temporarily : 临时重定向,在HTTP1.1中状态描述是Found,这个和300一样,但是说明请求的资源临时被转
移到新的URL上,在以后可能会再次变动或者此URL会正常请求客户的连接。
303 See Other :即303重定向, 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取(HTTP 1.1新)。

有必要研究下301