404 Not Found

HTTP 404 Not Found 客户端错误响应状态码表示服务器无法找到请求的资源。指向 404 页面的链接通常被称为死链接或失效链接,并可能导致链接腐烂

404 状态码仅表示资源缺失,而未指明是临时性还是永久性缺失。如果资源被永久删除,服务器应发送 410 Gone 状态码。

网站上的 404 错误会导致访问者糟糕的用户体验,因此应尽量减少断开链接(内部和外部)的数量,以防止读者感到沮丧。404 响应的常见原因是 URL 拼写错误,或者页面被移动或删除而没有重定向。更多信息,请参阅 HTTP 中的重定向指南。

状态

http
404 Not Found

示例

页面未找到

获取不存在的页面可能看起来像以下请求

http
GET /my-deleted-blog-post HTTP/1.1
Host: example.com

服务器返回类似于此的响应

http
HTTP/1.1 404 Not Found
Age: 249970
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Date: Fri, 28 Jun 2024 11:40:58 GMT
Expires: Fri, 05 Jul 2024 11:40:58 GMT
Last-Modified: Tue, 25 Jun 2024 14:14:48 GMT
Server: ECAcc (nyd/D13E)
Vary: Accept-Encoding
X-Cache: 404-HIT
Content-Length: 1256

<!doctype html>
<head>
    <title>404 not found</title>
    ...

Apache 中的自定义错误页面

对于 Apache 服务器,您可以在 .htaccess 文件中指定自定义 404 页面的路径。以下示例使用 notfound.html 作为在 404 错误时向访问者显示的页面,尽管常见的方法是在服务器的顶层将文件命名为 404.html404.php(取决于服务器端技术)

apacheconf
ErrorDocument 404 /notfound.html

注意:适度的自定义 404 页面设计是件好事。您可以在 404 页面中加入幽默感和人性化,但不要让访问者搞不清楚为什么他们会看到意想不到的内容。

有关自定义 404 页面的示例,请参阅 KonMari 404 页面

规范

规范
HTTP 语义
# status.404

另见