网站301和302重定向的区别是什么?

301和302重定向

301和302都是HTTP状态码。它们很常见,但普通用户看不到它们; 它们是帮助管理员在出现问题时进行故障排除的代码,它们是服务器在彼此通话时使用的代码。

实际上有很多状态代码。这些范围从100,这是一个简单的连续代码,最多404:页面未找到,或504,当服务器超时。

服务器重定向的类型
301和302都是重定向HTTP代码,但它们不是唯一的代码。实际上有几种不同类型的重定向,而不仅仅是我们通常使用的重定向。301和302是最常见的,但它们并不孤单。

300多种选择。此状态代码向浏览器指示他们尝试访问的目标有多个可能的选项。可以认为它有点像维基百科消歧页面。这些是相当罕见的,对您的SEO没有任何价值。

多项选择重定向301永久移动。这是典型的重定向。301重定向是指示链接的目标已永久地将URL更改为其他URL。例如,当SEOMoz重新命名为Moz时,他们将其URL从SEOMoz.com更改为Moz.com。每个SEOMoz.com页面都通过永久301重定向重定向到相应的Moz.com页面。

302找到。这也称为Object Moved或Moved Temporarily重定向代码。它也被广泛使用不当。在实际的HTTP规范中,302旨在简单地指示预期的URL不是给定资源的正确URL。然而,大多数Web系统以成为临时重定向的方式实现它,因此它通常用作301的临时版本。

为了区分原始302的两个预期特征,HTTP代码标准的管理主体实现了303和307代码。实际上,这些都不是常用的,302仍可用作临时重定向。

303见其他。这是原始302的预期功能; 当浏览器进行PUT调用并接收带有GET响应的不同URL时,它使用303协议。如果你没有深入研究技术标准,你,呃,几乎可以忽略这一点。这与你的SEO完全无关。

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

304页面未修改305使用代理。此代码是一种奇怪的遗留措施,服务器用它来告诉客户端它只能通过指定的代理访问服务器。它被滥用,随后被浏览器忽略,并且基本上被放弃了。类似地,306代码指定客户端应使用特定代理,并且不再使用。

307临时重定向。这是我们最常认为的302,以及302通常用于什么。当浏览器向服务器请求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正在将数据提交给要处理的服务器。

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

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

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

这什么时候有用?答案是,很少。如果您在URL 1上有一个从URL 2中提取数据的表单,并且您将URL 2更改为URL 3,则表单将在没有特定操作的情况下中断。在这种情况下,使用编号较高的重定向(307或308)将非常重要。

在绝大多数情况下,特别是当你只关心SEO时,你会想要坚持301和302重定向。

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

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

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

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

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

302插图
在某些情况下,谷歌可能会足够聪明地认识到302被误用为301并且新网站应具有旧网站的价值。但是,这可能需要一些时间,如果它发生的话,它们可能会给你的价值低于永久重定向的价值。您实际上是在向谷歌表示,您不了解是否有足够的资源正确迁移网站,而且他们会在记住您的同时牢记这一点。当你打算使用301重定向时,你将失去很大的价值。

如上所述,301重定向旨在成为永久性的。如果要从一个URL迁移到另一个URL,合并两个站点,或以其他方式更改URL而不是要还原,则301重定向可以正常工作。

301重定向旨在通知浏览器和搜索引擎从一个URL移动到另一个URL。您可以将其视为移动时将更改地址表单发送到当地邮局。没有提交,您的邮件将不会到达您的新房子。

通常,如果您知道更改将是永久性的,则应使用301.如果要将PageRank传递到新URL,请使用301.如果您临时更改了URL大小写,则可以使用302 ,但不要指望谷歌通过它引用链接汁。

重定向应该持续多长时间?
301重定向是永久性的,但永久性是永久性的?你应该多长时间保持重定向?

Google的代表John Mueller解决了这一问题,并表示从长远来看应该有301个重定向。“……这可能是一年,或者理想情况下甚至超过一年,所以我们可以确定所有指向旧URL的内容都指向新的URL。”

301重定向长期

长期保持重定向对于Google来说非常重要,以确保他们已正确编制索引并将旧页面的所有内容重定向到新页面。对于将旧页面加入书签的用户来说,更改书签也很重要。当您删除重定向并且有人试图访问旧页面时,他们将会收到404。

谷歌没有说重定向应该是永久性的唯一原因是因为他们认识到域名过期或易手。Moz仍在为SEOMoz.com域名付费,因此他们可以保持重定向到位。如果他们想停止为域名付费,或者他们忘记续订和其他人购买,那么所有旧的SEOMoz链接都会破坏或控制拥有域名的人。

对于“小”重定向,例如更改URL的子域或子文件夹但保留主域名,您可以无限期地保持重定向到位,没有任何问题。它不会给您的服务器或预算带来压力。

对于较大的重定向,例如完全更改域名,Google建议将重定向保留至少一年。一年后,开始查看服务器日志。如果人们仍然从旧URL重定向到新URL,请确定他们来自何处。它可能是旧的活动链接,可能是带有书签的用户,也可能是任何内容。找出源是什么,并采取措施,如果可以,在删除和放弃重定向之前将源更改为准确的URL。如果您能够无限期地保留旧域名而不会对预算造成压力,只需保持重定向活动,请随意执行此操作。