![]() |
1
530
状态301表示资源(页面)永久移动到新位置。客户端/浏览器不应尝试请求原始位置,而是从现在开始使用新位置。 状态302表示资源暂时位于其他位置,客户机/浏览器应继续请求原始URL。 |
![]() |
2
97
当搜索引擎蜘蛛在一个网页的响应头中发现301状态码时,它知道这个网页已经不存在了,它会在响应中搜索位置头,选择新的URL,并用新的URL替换索引的URL,同时传输pagerank。 因此,搜索引擎会用新的URL刷新所有不再存在的索引URL(找到301个),这将保留旧的网页流量、PageRank并将其转移到新的网页流量(不会丢失旧网页的流量)。 浏览器:如果浏览器找到301状态代码,那么它会用新的URL缓存旧URL的映射,客户端/浏览器不会尝试请求原始位置,而是从现在开始使用新位置,除非清除缓存。
当搜索引擎蜘蛛发现一个网页有302个状态时,它只会临时重定向到新的位置并对两个网页进行爬行。旧的网页URL仍然存在于搜索引擎数据库中,它总是尝试请求旧的位置并对其进行爬网。客户端/浏览器仍将尝试请求原始位置。
阅读有关如何在ASP.NET C中实现它以及它对搜索引擎的影响的详细信息- http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code-aspnet-csharp-Implementation.html |
![]() |
3
32
在搜索引擎中,301和302对索引很重要,因为他们的爬虫程序在使用301时会考虑到这一点并转移pagerank。 见 Peter Lee's answer 了解更多详细信息。 |
![]() |
4
18
301请求的资源是否被分配了一个新的永久URI以及 将来对此资源的引用应该使用 返回的URI。 302是请求的资源临时驻留在不同的URI下。 由于重定向有时可能会被更改,客户端应该 继续为将来的请求使用请求URI。这个回答是 仅当由缓存控件或Expires头指示时才可使用 字段。 |
![]() |
5
14
301重定向被无限期缓存 (至少在某些浏览器中)。 这意味着,如果您设置了301,那么访问该页面,不仅可以重定向,而且可以缓存重定向。 当您再次访问该页面时,您的浏览器*甚至不需要请求该URL,它只会转到缓存的重定向目标。 对于在缓存中具有该重定向的访问者,撤消301的唯一方法是重新重定向回原始URL**。在这种情况下,浏览器将注意到循环,并最终真正请求输入的URL。 很明显,如果你决定301到Facebook或者其他你没有完全控制的资源,这不是一个选择。 不幸的是,许多主机提供商在其管理界面中提供了一个简单称为“重定向”的功能,它执行301重定向。如果你用这个暂时将你的域名重定向到Facebook作为一个即将到来的页面,你基本上是完蛋了。 *至少Chrome和火狐,根据 How long do browsers cache HTTP 301s? . 刚刚用铬45试过。 编辑:Mac上的Safari 7.0.6也会缓存,浏览器重新启动没有帮助(link说Windows上的Safari 5确实有帮助。)
**我尝试了javascript
底线: 只有当你确信你不会再使用这个网址时,才使用301S。通常不在根目录上(example.com/) |
![]() |
6
8
301的主要问题是浏览器将缓存重定向,即使从服务器级别禁用了重定向。 如果要为短维护窗口启用重定向,最好使用302。 |