0

假设用户尝试访问我没有定义的 URL,站长有两个选择:

  1. 使用 HTML 代码进行响应404 Not Found以维护网站的外观并告诉用户“我们找不到此页面,您是否打错字了?”

  2. 使用 HTML 代码进行响应200 OK以维护网站的外观并告诉用户“我们找不到此页面,您是否打错字了?”

基本上,每个人似乎都选择选项 1,但我在想,为什么不使用选项 2?

如果网站管理员使用而不是响应未定义的 URL,他将面临什么真正的缺点200 OK404 Not Found

4

4 回答 4

4

为什么不选择选项 2?

因为它破坏了网络。任何自动化代理都会了解存在的缺失资源。搜索引擎将继续指向不再存在的页面/图像/资源。

HTTP 协议具有特定的语义 - 为“找不到文件”返回 404 是这些语义之一。


以此类推——如果你给朋友寄信。你宁愿用“不再住在这里”(404)取回它,还是用......没有任何迹象表明有问题(200)?

于 2013-03-09T14:39:59.700 回答
3

您要求使用 200 而不是 404 作为“未找到”页面的真正可量化的缺点。

最大的可以追溯到搜索引擎。

搜索引擎会将 200 响应视为有效页面。这意味着您最终可能会在搜索引擎结果中看到大量无用的页面。这可能会损害您的网站在发现无效页面的访问者中的声誉。

您还有一个缺点,即即使它们无效,搜索引擎也会不断返回这些 URL 进行扫描,因为您没有做任何事情来告诉它们它们是无效的。除非您为站点使用的带宽付费,否则这不会直接影响您。但是,如果您是,那么如果搜索引擎点击无效页面,它将增加您的带宽成本,而对您没有任何实际好处。不花钱绝对是劣势。

最后——也许更重要的是——所有那些“未找到”的页面将被搜索引擎视为重复的内容。搜索引擎会主动惩罚具有多个具有相同内容的页面的网站,这意味着通过为您的通用“未找到”页面提供 200 个代码,您很有可能降低整个网站的搜索引擎排名。这是一个网站可能发生的最糟糕的事情,所以如果你正在寻找使用 200 代码而不是 404 代码的真正缺点,那就是它了。

于 2013-03-09T15:12:25.117 回答
2

404 代码不是针对人类访问者的,而是针对搜索引擎等的。

搜索引擎可能很难通过仅查看页面中的文本来确定响应对于请求是否合理。404 代码发送一个明确的信号,表明该 URL 不会指向有用的资源。这样,搜索引擎可以在搜索结果中列出您的实际页面,而不是过去曾导致某事的旧地址。

于 2013-03-09T14:43:33.453 回答
1

如果不是人访问您的页面,那么您会得到该页面存在的印象。

这很重要,因为没有此代码,搜索引擎(和其他非人类用户)会认为该链接是有效的,并且他们已经到达了您网站的实际部分。实际上,这意味着原则上某人可能会在搜索引擎中遇到错误页面,因为搜索引擎会将其视为您网站的有效部分。

于 2013-03-09T14:40:50.950 回答