404

Not Found

官方 子状态代码
网络服务器无法找到所请求的资源

404状态代码的一般解释

404 Not Found状态代码下,服务器无法找到指定URL下的资源。这条信息是最著名的错误信息,即使在非技术用户中也是如此,因为即使是大型网站也有严格的链接结构,404 Not Found错误信息被抛出的频率更高。

HTTP状态代码404的规范

404 Not Found状态代码表明起源服务器没有找到目标资源的当前表示,或者不愿意透露存在一个表示。404 Not Found状态代码并不表明这个缺失的表示是暂时的还是永久的;如果起源服务器知道,大概是通过一些可配置的手段,这个状况可能是永久的,那么410(Gone)状态代码比404 Not Found更受欢迎。404 Not Found响应默认是可缓存的,也就是说,除非方法定义或明确的缓存控制另有说明(见[RFC7234]的4.2.2节)。

来源/引自: 404 Not Found HTTP状态代码由6.5.4.的RFC7231部分指定。

如何用PHP抛出一个404状态代码?

要在一个网页上抛出HTTP状态代码404,可以使用PHP函数http_response_code。其语法如下: http_response_code(404) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

测试404 HTTP状态代码

为了能够在客户端显示HTTP状态代码(本例中为404 Not Found)和其他信息,必须用F12打开开发控制台。然后导航到 "网络 "标签。现在可以打开页面,网站(例如index.php)应该在网络标签中可见。这必须被选中,然后必须选择Herder部分。然后,用户将看到以下结果:

状态代码 404 Not Found
概述
URL: https://http-statuscode.com/errorCodeExample.php?code=404
状况: 404 Not Found
那些: Network
IP地址: XX.XX.XX.XX
状态代码 404 Not Found

我如何解决404状态代码的问题?

状态代码404 Not Found可能因各种原因而出现。有些是微不足道的,有些则比较复杂。最有可能的原因是URL拼错了,或者一个内部页面的链接设置错误。另一种可能是,被链接的页面被从网络服务器上删除了,并且没有设置后续的状态代码,如410(消失)。

但也可能有一种有点复杂的错误模式。如果确保既没有拼写错误的URL,也没有删除资源,来自 "htaccess "文件的重定向也可能是错误的。错误的重定向通常可以用网络工具检测出来。

作为最后一种可能的可能性,也可以考虑缓存问题。要么问题已经在服务器端得到解决,但你的浏览器的缓存没有重新加载页面,而是从本地内存中加载,或者网络服务器也没有加载当前版本。在这种情况下,客户端和服务器端的缓存都应该被清除。

如何为状态代码404创建你自己的错误页面

使用 "Apache "和 "NGINX "网络服务器,创建你自己的404 Not Found错误页面是相对容易的。

Apache Webserver

网络服务器 "Apache "是互联网上最常见的网络服务器之一。要在 "Apache "中创建自己的404 Not Found错误页面,必须在以下文件中做如下修改。

File: .htaccess
ErrorDocument 404 /errors/404.html

NGINX Webserver

与网络服务器 "Apache "类似,"NGINX "也在互联网上广泛使用。要在 "NGINX "中创建自己的404 Not Found错误页面,必须在以下文件中做如下修改。

File: sites-enabled/default
error_page 404 /404.html;
location = /404.html {
    root /usr/share/nginx/html;
    internal;
}

404状态代码的浏览器兼容性

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

404 状态代码对搜索引擎优化有什么影响?

在搜索引擎优化 (SEO) 的世界中,404 Not Found "未找到 "状态代码不仅仅是一个简单的错误信息。

当用户或搜索引擎爬虫尝试访问一个不存在的页面并因此返回 404 Not Found 错误时,搜索引擎会将其理解为一个不存在的页面。零星的 404 Not Found 错误不一定会对搜索引擎排名产生重大影响。

频繁出现 404 Not Found 错误会被搜索引擎视为网站结构或维护不善的指标。这反过来又会对搜索引擎对网站的信任度产生负面影响。而在搜索引擎优化领域,信任就是一切。搜索引擎信任的网站往往能在搜索结果中获得更好的排名。

此外,如前所述,每个网站都有一个抓取预算。这指的是搜索引擎爬虫在给定时间内将访问的页面数量。过多的 404 Not Found 错误会导致很大一部分预算浪费在不存在的页面上。这意味着新的或更新的内容可能需要更长的时间才能被搜索引擎发现和索引。

另一个重要的问题是由于 404 Not Found 错误导致的反向链接的损失。反向链接是一个重要的排名因素,如果一个外部页面链接到一个返回 404 Not Found 错误的 URL,那么该链接将不再被搜索引擎视为一个积极的排名因素。

总之,虽然 404 Not Found 错误表面上看似无害,但它们会对网站的搜索引擎排名产生严重影响。因此,网站管理员的最佳利益是定期监控和修复这些错误,以确保网站在搜索结果中保持最佳位置。

编程语言中的常量

HttpStatusCode.NotFound
http.StatusNotFound
response::HTTP_NOT_FOUND
httplib.NOT_FOUND
http.client.NOT_FOUND
http.HTTPStatus.NOT_FOUND
:not_found

HTTP 状态代码为 404 的 "客户端请求 "和 "服务器响应 "示例

Client request:

GET /missingpage.php HTTP/1.1
Host: www.http-statuscode.com

Server response:

HTTP/1.1 404 Not Found
Content-Type: text/html

<html>
<head><title>404 Not Found</title></head>
<body>
<h1>Not Found</h1>
<p>The requested URL /missingpage.php was not found on this server.</p>
</body>
</html>

404状态代码的子状态代码

子状态代码纯粹是技术性的,不应该被发送给用户。例如,如果状态代码404.1被抛出,它可能被记录下来,但状态代码404将被发送给用户。:
404.0 Not found
HTTP IIS, 非官方的
404.1 Site Not Found
HTTP IIS, 非官方的
404.2 ISAPI or CGI restriction.
HTTP IIS, 非官方的
404.3 MIME type restriction.
HTTP IIS, 非官方的
404.4 No handler configured
HTTP IIS, 非官方的
404.5 Denied by request filtering configuration
HTTP IIS, 非官方的
404.6 Verb denied
HTTP IIS, 非官方的
404.7 File extension denied
HTTP IIS, 非官方的
404.8 Hidden namespace
HTTP IIS, 非官方的
404.9 Files attribute hidden
HTTP IIS, 非官方的
404.10 Request header too long
HTTP IIS, 非官方的
404.11 Request contains double escape sequence
HTTP IIS, 非官方的
404.12 Request contains high-bit characters
HTTP IIS, 非官方的
404.13 Content length too large
HTTP IIS, 非官方的
404.14 Request URL too long
HTTP IIS, 非官方的
404.15 Query string too long
HTTP IIS, 非官方的
404.16 DAV request sent to the static file handler
HTTP IIS, 非官方的
404.17 Dynamic content mapped to the static file handler
HTTP IIS, 非官方的
404.18 Querystring sequence denied
HTTP IIS, 非官方的
404.19 Denied by filtering rule
HTP IIS, 非官方的
404.20 Too Many URL Segments
HTTP IIS, 非官方的
404.501 Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached
HTTP IIS, 非官方的
404.502 Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached
HTTP IIS, 非官方的
404.503 the IP address is included in the Deny list of IP Restriction
HTTP ISS, 非官方的
404.504 the host name is included in the Deny list of IP Restriction
HTTP IIS, 非官方的

博客文章

HTTP 状态代码:对 404 Not Found 和 410 Gone 错误信息的详细分析

HTTP 状态代码是超文本传输协议 (HTTP) 的重要组成部分,它构成了网络浏览器和网络服务器之间通信的基础。它们允许对 HTTP 请求和响应的状态进行标记,从而更容易理解客户端和服务器之间的交互。404 Not Found:...

搜索引擎优化和 HTTP 状态代码全面分析

针对搜索引擎(SEO)优化网站是一项复杂的工作。HTTP 状态代码是经常被忽视但对获得良好排名至关重要的方面之一。这些三位数的小代码不仅向用户和浏览器提供有关网络请求状态的信息,也向搜索引擎爬虫提供信息。...

作者: Tony Brüser
作者: Tony Brüser

Tony Brüser 是一位热衷于 HTTP 状态代码的网络开发人员。

LinkedInGitHub