301和302是最常见的HTTP重定向代码。

301永久重定向

301重定向是指示链接的目标已永久将URL更改为不同的URL,例如,当seoexample更名为example时,他们将URL从seoexample.com更改为example.com,每个seoexample.com页面都通过永久的301重定向重定向到相应的example.com页面。

302临时重定向

在实际的HTTP规范中,302旨在简单地表明预期的URL不是给定资源的正确URL,然而,大多数网络系统都以这种方式实现了临时重定向,因此它通常被用作301的临时版本。

为了区分原始302的两个预期特征,HTTP代码标准的管理机构实施了303和307代码,实际上,这两种都不常用,302仍然可以作为临时重定向。

303,原始302的预期功能

当浏览器进行PUT调用并通过GET响应接收到不同的URL时,它使用的是303协议,如果你熟悉该技术标准,你几乎可以忽略这一点,因为这与搜索引擎优化完全无关。

304未修改

用于数据缓存的代码,如果服务器在过去提取了页面的数据,并且客户端请求该页面,则服务器将检查该页面是否已更改,如果页面以304响应,则表示服务器已经具有该页面的最新版本,然后,服务器可以提供它已有的内容,而无需重新运行代码,重新获取资产或重新生成页面。

304状态码

305使用代理

此代码是一种奇怪的传统措施,服务器用它告诉客户端它只能通过指定的代理访问服务器,它曾经被滥用,随后被浏览器忽略,基本上已被放弃,类似地,306代码指定客户端应该使用特定代理,并且不再使用。

307临时重定向

当浏览器向服务器请求URL 1时,但URL已暂时更改,服务器将使用307和新的URL 2进行响应,但是,由于它是临时重定向,因此浏览器将不存储此信息,当浏览器下次请求URL 1时,服务器将再次检查并查看重定向是否已被删除。

308永久重定向

这意味着要成为301重定向的一个更现代,更流畅的版本,当浏览器向服务器请求URL 1时,服务器说“实际上,它现在是URL 2”。然后,流量将正常进行到URL 2,而不用更改HTTP的方法; 这允许通过表单提交进行数据传输而不会发生问题,例如,重定向失败,在所有这些中,你只需关心 301,302,307和308。

GET和POST

为了理解在任何特定时间应使用哪种重定向,您需要了解一些关于HTTP如何工作的信息。

GET和POST都是浏览器或客户端与服务器通信的方法,简而言之,GET就是浏览器向服务器请求特定数据,POST将数据提交给要处理的服务器。

GET请求可以被缓存,它们保留在浏览器历史记录中,可以添加书签,并专门用于检索数据,“抓住这个URL上的内容”本质上是一个GET请求。

POST请求更像是要由服务器处理的脚本,您是否曾经使用过一种基于网络的搜索表单,当您点击“返回”按钮或尝试刷新页面时,抛出“您需要重新提交数据到表单”警告?这是因为它是一个POST请求,POST请求不会被缓存,不会保留在浏览器历史记录中,也不能被添加书签,因为它们或多或少是一组到服务器的命令,而不是静态资源的请求。

301重定向和308重定向的核心主要区别在于308重定向不允许从POST 更改为GET,302和307也是如此; 307是不允许改变的。

如果您的网址为1的表单提取了来自网址2的数据,并且您将网址2更改为网址3,则表单将会中断而不执行特定操作,在这种情况下,使用更高编号的重定向307或308将很重要。

在绝大多数情况下,特别是当你只关注SEO时,你只需使用301永久重定向或者302临时重定向。

如果您在搜索引擎优化是您的主要关注点时是否应该使用307或308重定向?一般来说,答案是否定的,307和308都是HTTP 1.1标准,虽然这些更新更高效,但它们并不一定在服务器,浏览器或搜索引擎中得到广泛支持,在被广泛采用之前,最好将重定向保留为301或302。

你应该使用哪个?

如上所述,301重定向是永久重定向,302是临时重定向,你应该使用哪一个,什么时候?

302重定向被视为临时更改,不会被缓存或保存,实质上,302重定向不被搜索引擎认为是重要的,如果他们抓取您的网站,他们会使用它,但他们会认为原始链接是真正的链接。

在某些情况下,302重定向可能很有价值,它们可用于地理定位,分割测试,某些形式的用户跟踪以及意图为临时的重定向,例如,在维护站点期间更改URL以便内容仍然可用于其他URL,可以使用302来完成。

302重定向不会传递页面权重或将旧URL链接到新URL,如果您要将站点的URL从一个更改为另一个,则不需要使用302重定向,这样做基本上会将所有网站价值留在旧网址上。

在某些情况下,搜索引擎会将302认为是301,并且新网站应具有旧网站的价值。但是,如果发生这种情况,这很可能需要一些时间,并且与永久重定向相比,它们可能会给您带来更少的价值,您实质上是在向百度表示您不知道如何正确迁移某个网站,并且他们会在记入您的同时记住这一点,使用302重定向时,您将失去大部分的页面权重传递。

如上所述,301重定向是永久性的,如果您正在从一个网址迁移到另一个网站,合并两个网站,或者更改不希望被还原的网址,则可以使用301重定向。

301重定向旨在通知浏览器和搜索引擎从一个URL移动到另一个URL,就像在你搬家时没有更改快递地址,你的快递可能会产生配送失败等不可抗因素。

一般来说,301是永久性的,如果你想将页面权重传递到新URL,请使用301,如果需要临时改变URL,则可以使用302 ,但他不会转移页面权重。

301重定向是永久的,百度识别301需要多久?你应该保持重定向多久?

这可能是半年,或者比半年更长,这样我们才能真正确定指向旧网址的所有内容都指向新网址。”

长期保持重定向对于百度确保他们已正确编制索引并将有关旧页面的所有内容重定向到新页面非常重要,对于拥有旧页面书签的用户来说,更改他们的书签也很重要,当你删除重定向,并有人试图访问旧页面,将会产生404。

相关阅读:301重定向与404 Not Found