客户应该有不同的表现吗?如何?


当前回答

301是永久重定向,302是临时重定向。

浏览器可以缓存301,但302意味着它必须每次都访问我们的系统。假设我们想要最小化系统上的负载,301是正确的决定。想象一下,为一家大公司创建URL缩短服务,我们尽量减少客户对我们服务器的访问

但是如果用户想要编辑他们的短url,浏览器可能需要比平时更多的时间来接受更改,因为浏览器已经缓存了旧的url。此外,如果你想为用户提供他们的URL被点击的频率,301意味着我们不一定能看到来自客户端的每一次点击。因此,如果你想要分析作为一个功能,并在编辑url时有一个流畅的用户体验,302是一个更好的选择。

其他回答

当一个搜索引擎蜘蛛在一个网页的响应头中发现301状态码时,它知道这个网页已经不存在了,它在响应中搜索位置头,选择新的URL并将索引URL替换为新的URL,并转移pagerank。

所以搜索引擎刷新所有索引URL,不再存在(301发现)与新的URL,这将保留你的旧网页流量,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

状态301意味着资源(页面)被永久地移动到一个新的位置。从现在开始,客户端/浏览器不应该尝试请求原始位置,而是使用新位置。

状态302意味着资源暂时位于其他地方,客户端/浏览器应该继续请求原始url。

大多数情况下,301 vs 302对于搜索引擎的索引很重要,因为他们的爬虫会考虑这一点,并在使用301时转移PageRank。

详情见Peter Lee的回答。

301的主要问题是浏览器将缓存重定向,即使您从服务器级禁用了重定向。

如果要在短时间内启用重定向,那么最好使用302。

301是永久重定向,302是临时重定向。

浏览器可以缓存301,但302意味着它必须每次都访问我们的系统。假设我们想要最小化系统上的负载,301是正确的决定。想象一下,为一家大公司创建URL缩短服务,我们尽量减少客户对我们服务器的访问

但是如果用户想要编辑他们的短url,浏览器可能需要比平时更多的时间来接受更改,因为浏览器已经缓存了旧的url。此外,如果你想为用户提供他们的URL被点击的频率,301意味着我们不一定能看到来自客户端的每一次点击。因此,如果你想要分析作为一个功能,并在编辑url时有一个流畅的用户体验,302是一个更好的选择。