什么时候出现标准404页面?

时间:2008-10-15 20:50:49

标签: http http-status-code-404

我正在为项目构建一个简单的HTTP服务器。 大多数网站都有自定义404错误页面。但有时候,你会看到Firefox吐出一个通用的404页面(或405等等......)。 它是如何决定做什么的? HTTP响应应该是什么? 是否“HTTP / 1.0 404找不到”?

由于

5 个答案:

答案 0 :(得分:4)

如果服务器找不到所请求的资源(例如网页),它会在HTTP标头部分中发送 HTTP / 1.0 404 NOT FOUND

服务器可以映射此错误的错误页面,因此您可以获得可读的错误页面。 浏览器还可以映射自己的错误页面,因此您可以看到特定于浏览器的错误404消息。

您可以在日志文件的状态字段中看到错误代码。

您可以将用户重定向到具有以下结构的特定网页:

<HTML>
<head>
<meta HTTP-EQUIV="Refresh" CONTENT="5; URL=not404.htm">
</head>
</HTML>

详见Welcome to 404 Error Pages .com

答案 1 :(得分:2)

如果您要创建HTTP服务器,可能需要查看描述协议的RFC:http://www.faqs.org/rfcs/rfc2616.html

对于404状态代码,它说:

  

服务器找不到任何东西   匹配Request-URI。没有
  指示是否是   条件是暂时的或
  常驻。 410(Gone)状态代码   如果服务器知道,应该使用   通过一些内部可配置   机制,旧资源   永久不可用,没有   转发地址。这个状态   代码是服务器时常用的   不希望透露具体原因   请求已被拒绝,或何时被拒绝   没有其他回应适用。

您无法控制浏览器如何处理每个状态代码,您可以依赖其良好的行为。

也就是说,您可以从使用现有的HTTP服务器中受益。请查看此question有关如何在几天前发布的C或C ++中创建HTTP服务器的信息,

答案 2 :(得分:2)

返回带有404响应代码的html主体是完全有效的。如果没有提供正文,则浏览器将显示默认页面。

  1. 如果您只发送 HTTP / 1.0 404 NOT FOUND ,则会显示浏览器默认值。
  2. 如果您在响应中添加正文,则浏览器将主要使用该主体。

答案 3 :(得分:1)

因此,在大多数情况下,Firefox不会显示通用的404错误页面;您正在考虑使用Internet Explorer,如果网站的网页低于特定大小并且显示自己的网页,则会忽略网页的404页面。

答案 4 :(得分:-2)

通常在网络服务器中设置,即:当服务器获得404时,请将其引用到此页面。