Http 标准404页面何时出现?

Http 标准404页面何时出现?,http,http-status-code-404,Http,Http Status Code 404,我正在为一个项目构建一个简单的HTTP服务器。 大多数网站都有自定义的404错误页面。但有时,你会看到Firefox发布一个通用的404页面(或405等)。 它如何决定做什么? HTTP响应应该是什么? “未找到HTTP/1.0 404”是否足够 谢谢,通常它是在Web服务器中设置的,即:当服务器收到404时,请参考此页面。因此,Firefox在大多数情况下不会显示一般的404错误页面;您想到的是Internet Explorer,如果网站的404页面小于某个大小,它将忽略该页面并显示自己的页面

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


谢谢,通常它是在Web服务器中设置的,即:当服务器收到404时,请参考此页面。

因此,Firefox在大多数情况下不会显示一般的404错误页面;您想到的是Internet Explorer,如果网站的404页面小于某个大小,它将忽略该页面并显示自己的页面。

如果您正在创建HTTP服务器,您可能需要查看描述该协议的RFC:

对于404状态代码,它表示:

服务器没有找到任何东西 匹配请求URI。否
给出了以下指示,即 情况是暂时的或
永久的。410(消失)状态代码 如果服务器知道, 通过一些内部可配置的 机制,即旧资源是 永久不可用且没有 转发地址。这种状态 代码通常在服务器运行时使用 不想透露确切的原因 请求已被拒绝,或者 没有其他答复适用

你无法控制浏览器将如何处理每个状态代码,你应该依靠它的良好行为


也就是说,您可能会从使用现有HTTP服务器中受益。看看如何在几天前C或C++发布HTTP服务器,

< P> >用一个404响应代码返回一个HTML体是完全有效的。如果未提供正文,则浏览器将显示默认页面

  • 如果仅发送HTTP/1.0 404未找到,则将显示浏览器默认设置
  • 如果在响应中添加主体,浏览器将主要使用该主体

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

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

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

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

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

    请参阅

    的详细信息,其他错误号如何?是服务器应该为所有用户发送自定义页面,还是浏览器可以处理?Chrome也“坏了”?因为它正确地显示了正确的默认404错误页面以及内部服务器错误和其他默认错误页面。Firefox是“正确的”,因为它只显示一个空白页?。。当然,最好显示一个空白页面,并期望用户打开开发者工具栏,转到网络选项卡,重新加载页面,阅读响应的HTTP状态代码,然后用谷歌搜索该响应以了解其含义。是的,这是浏览器的卓越表现。非常用户友好。挑剔的是,包含404响应的不是html正文,而是HTTP标头…请参阅-服务器应包括一个解释错误的正文。标头包含错误代码,正文包含人类可读的错误消息。(*)除了Mozilla Firefox,它显示了直观的,用户友好且完全空白的页面。据我所知,唯一有一般错误页面的浏览器是MSIE。@Quentin Chrome已经在默认错误页面中显示了响应代码。@Nathan信不信由你,8年后,Firefox仍然拒绝显示其默认错误页面。这里的问题是,只有Chrome和IE真正将HTTP状态代码映射到实际的默认错误页面。Firefox认为这样更容易让用户显示一个完全空白的页面,并希望用户打开开发者工具栏,进入网络选项卡,重新加载页面,读取响应的HTTP状态码,然后用谷歌搜索该响应以了解其含义。是的,比显示默认错误页容易得多。。令人惊讶的是,即使在2017年4月,Firefox也不知道如何或何时显示基于HTTP状态码的默认错误页面。到目前为止,我还没有找到将HTTP 500错误代码链接到默认Firefox错误页面的方法,而所有其他浏览器都已经理解了这一点。你是对的。Chrome和IE表现正常,并显示相应的默认错误页面,而Firefox认为最好显示空白的空页面。