404和410错误代码之间的差异

时间:2015-03-05 11:26:25

标签: seo http-status-code-404 http-status-code-410

我已经阅读了很多错误代码,但我对错误代码404和410有点混淆。直到现在我才区分这些错误完全假装。

1 个答案:

答案 0 :(得分:4)

404表示资源不在给定位置,并且可能从未出现过(或者服务器不知道它是否已经存在)。

另一方面,410表示资源不再存在 ,但过去曾经存在过。对于搜索引擎,蜘蛛等客户来说,这是一个有用的提示,因为他们可以从索引中删除此资源。

来自HTTP 1.1原始RFC 2616 section 10.4.11

  

410响应主要用于协助网络任务      通过通知收件人资源是维护      故意不可用,服务器所有者希望如此      将删除该资源的远程链接。这样的事件很常见      限时,促销服务和属于的资源      个人不再在服务器的网站上工作。它不是      必须将所有永久不可用的资源标记为"已消失"要么      保持标记任何时间长度 - 留给      服务器所有者的自由裁量权。

另外,关于两者的区别:

  

预计这种情况[410]      被视为永久性具有链接编辑功能的客户端应该      用户批准后删除对Request-URI的引用。如果      服务器不知道,或无法确定,无论是否      条件是永久的,状态代码404(未找到)应该是      反而用了。

后来在RFC 7231 section 6.5.4中对其进行了改写,但含义保持不变:

  

404状态代码没有      表明这种缺乏代表性是暂时的还是暂时的      常驻;如果是,410(Gone)状态代码优先于404      原始服务器可能通过一些可配置的方式知道      这种情况可能是永久性的。