404 Not Found 是一种 HTTP 状态码,表示服务器上不存在与所请求的 URL 相对应的资源。它也是使用 Web 的人几乎都见过一次的、最有名的错误码之一。
发生 404 错误的主要原因有:页面被删除、URL 变更 (未设置重定向) 、URL 输入错误,以及来自外部网站的链接失效。根据 Ahrefs 的调查,Web 上约 66.5% 的链接因某种原因处于失效状态。尤其是在站点改版时,忘记设置从旧 URL 到新 URL 的 301 重定向,这是实务上最常见的原因。
404 与 410 (Gone) 的区别在实务上也很重要。404 意味着「找不到 (将来或许会恢复) 」,410 意味着「已被完全删除 (不会恢复) 」。Google 收到 410 后,倾向于比 404 更快地把页面从索引中移除,因此若是有意废止某个页面,返回 410 更有效率。
在短链接服务中,对已过期的短链接或已被删除的短链接返回 404 是通行做法。不过考虑到用户体验,推荐准备的不是单纯的错误页面,而是带有「此链接已过期」这类说明的自定义 404 页面。