HTTP状态代码:列出了所有可能的代码

披露: 您的支持有助于保持网站的正常运行!我们会为此页面上推荐的某些服务收取推荐费.


Contents

HTTP状态码基础

大多数人对导航到网页时实际发生的事情都不会太在意。他们只要打开浏览器,单击某些内容,然后它就会出现在我的屏幕上!

寻找特定的代码?看一下右边的目录!

我们不希望考虑计算机的Web浏览器与数据中心中的服务器之间的复杂的请求和响应,即使是网站的系统管理员和IT人员也看不见(通常).

但是然后,我们时不时地遇到一个错误。我们得到了一个聪明的404 Not Found页面,上面有一张有趣的图片。或者,我们在自己的浏览器中得到一个空白页,上面有纸条,告诉我们一些未知的501错误.

作为休闲网站访问者,这只是令人讨厌。我们通常会重试-刷新,返回,再单击一次。有时它会起作用-我们称其为故障并立即将其忽略。有时它不起作用-我们称其为“不良网站”,通常也很快忘记了这一点.

但是,如果您实际上是在运营一个网站,那一切都会改变。 HTTP错误并不令人讨厌。他们发疯了。他们很尴尬.

如果您特别精​​通技术,或者您拥有一支优秀的IT团队,那么这可能没什么大不了的。这样的大多数问题都很容易解决。但是,如果您是小型企业主,则运行自己的网站,HTTP状态和错误代码会使您发疯.

如何解决HTTP错误?如何避免HTTP错误?所有这些HTTP状态代码意味着什么,甚至?

这就是本指南的内容,以及有关以下内容的信息:

  • 良好的HTTP状态代码(通常看不到的状态代码)
  • 有用的HTTP状态代码
  • 您应该使用哪种类型的重定向(以及原因).

但是首先,为了了解HTTP状态代码,您必须首先了解HTTP的工作方式.

HTTP请求和响应

HTTP代表“超文本传输​​协议”。

什么是协议?

当您登上海军舰船时,有一种特定的做事方式。首先,您向国旗致敬,然后向值班军官致敬,然后您请求允许登机.

这是一个协议.

协议是针对特定类型互动的一组规则.

有时,协议非常严格且已定义:

  • 登船:
    • 礼炮旗
    • 礼炮人员
    • 申请许可.

有时协议有些松散和不成文,但仍然众所周知:

  • 当您的生日蛋糕到来时:
    • 等大家唱完歌
    • 许个愿
    • 吹蜡烛,最好一口气.

计算机交互都是关于协议的。当两台计算机(或计算机网络)相互通信时,它们必须具有一组定义明确的规则以进行通信.

本地计算机的网络浏览器如何与承载您要查看的站点的Web服务器进行通信的规则是HTTP(超文本传输​​协议).

为什么我们要传输超文本?

最初,网页主要是文档。人们认为“网页”是实际的“页面”。一个站点是文档的集合。网站的主页是可用文档的“索引”.

什么类型的文件?超文本文件.

超文本只是意味着文档之间通过“超链接”相互链接。今天,我们只称它们为普通的“链接”,它们现在是如此普通,以至于我们不再称它们为“超级”.

可单击的文本中的“超级”链接-这种想法现在非常普遍,在首次创建Inernet时是如此具有革命性,以至于一切都以它命名.

这些文件的撰写语言?超文本标记语言(HTML)。以及请求和接收这些文件的协议? HTTP.

所以HTTP是…

HTTP是一组规则和过程,用于说明网络浏览器(或其他“客户端”)如何从另一台计算机(“服务器”)请求资源以及另一台计算机如何响应这些请求.

HTTP请求

因此,当您键入地址,单击链接或以其他方式打开网页时,您的浏览器正在向其他服务器发送请求.

请求的目标由URL和DNS系统定义。 DNS系统是另一天的主题,但基本上-DNS是将域名与特定计算机IP地址匹配的通讯录.

请求的目标由域名定义,整个URL是请求中最重要的部分-域名后的所有内容告诉服务器所请求的特定资源。该请求还包含其他信息,例如:

  • 请求类型。最常见的两个是:
    • GET-“请将此资源发送给我。”
    • POST —“这里有一些数据要处理。”
  • 标头字段-可选的元数据字段,用于告知服务器有关客户端的信息(例如,哪种类型的浏览器).
  • 正文-客户端发送的数据(用于POST).

服务器收到此请求,并(经过一些处理)发送响应.

HTTP响应

响应的第一行是 HTTP状态.

状态行包括两部分,数字代码(如200)和文本说明(如成功)。.

当一切正常时,您将获得200:成功状态(您作为人类用户从未看到过),一些标头数据(您也没有看到),然后是您请求的资源(您所看到的) ).

该资源可能是整个网页,图像,视频,声音文件。也可能是您看不到的东西,例如JavaScript文件或样式表.

如果事情进展得不太顺利,您可能会看到一条有关状态的消息。通常,当您收到类似404或501代码的代码时,就会发生这种情况。这些是错误代码。出问题了.

带有404或501错误代码的响应不会随您请求的资源一起返回。有时他们会返回不同的资源(例如聪明的404页面)。有时根本没有资源(那是当您获得浏览器的空白页和默认错误消息时).

也有状态码告诉浏览器寻找其他地方,例如301重定向。这些回复也不会来自请求的资源.

相反,标头数据告诉浏览器使用其他URL发出新请求。通常您不会注意到这种情况何时发生,因为您的浏览器会按照提示进行操作并发出第二个请求.

然后,它将向您显示第二个响应中的资源,而不会告诉您发生了任何事情。重定向响应代码通常对最终用户而言无关紧要,但对于网站管理员而言,重定向响应代码却至关重要.

状态码类别

您可能已经注意到,所有状态代码都是三位数字。您是否注意到第一位数字始终在1到5之间?

状态代码分为五类“代码”。 404:未找到错误是状态代码的400(或有时为4xx)类的一部分。每个类别都包含特定范围的问题或状态.

  • 1xx —信息性—这些是临时响应,旨在在服务器继续处理请求时使用。他们很少使用.
  • 2xx-成功-事情按预期工作时使用的代码。根据请求(具体是尝试执行的操作)返回不同的成功代码.
  • 3xx —重定向—用于告诉客户端在其他地方寻找请求的资源的代码.
  • 4xx-客户端错误-这些代码告诉客户端它做错了什么.
  • 5xx-服务器错误-当服务器上的某些设备无法正常工作时的代码.

我们将在各自的部分中更深入地介绍每个班级的特定代码.

处理HTTP状态(和错误)代码

本指南涵盖了所有可能的HTTP状态和HTTP错误代码-从常见到从未使用过。我们将解释每个代码的含义,生成代码的原因,代码何时可能出现问题以及如何处理这些问题。.

HTTP状态代码1xx —信息性

知识就是力量。信息正在解放.

-科菲·安南

1xx类中的HTTP状态代码旨在为临时的,在发送完整且完整的第二个响应之前由服务器发送.

它们是在HTTP / 1.1中引入的,因此早期实现HTTP / 1.0的浏览器无法处理它们,在这种情况下服务器不应以1xx代码结尾.

HTTP 100继续

通常,请求-响应序列很简单。发出,接收并响应一个请求.

但有时需要将请求分解为多个部分。如果请求太大,可能会发生这种情况。如果请求者需要检查标头的格式是否正确,或者服务器是否实际上已准备好接收请求,则可能会发生这种情况。.

在这些情况下,客户端(浏览器)可能发送带有包含Expect的标头的初始请求:100-continue.

发生这种情况时,服务器将收到初始请求,如果一切正常,则以100:继续状态进行响应。这表明客户端已完成请求.

如果一切正常,服务器将发回417 Expectation Failed.

HTTP 101交换协议

客户端可以要求服务器切换协议,例如从HTTP / 1.1切换到HTTP / 2.0.

如果服务器愿意遵守该请求,它将发回响应101:交换协议,以及包含正在使用的新协议名称的标头数据.

HTTP 102处理

此代码仅与WebDAV一起使用,WebDAV是HTTP的扩展,提供了文件操作功能,与FTP有点类似(尽管在实际实现中有很大不同).

WebDAV请求可能包含很多子请求。 102:正在处理状态使客户端知道服务器已接收到请求并正在处理请求,但仍有工作要做。这样可以防止客户端认为请求已丢失并超时.

HTTP状态码2xx-成功

这辈子只需要无知和自信,然后就能确保成功.

马克·吐温

当请求按预期完成时,应使用2xx类中的HTTP状态代码.

其中许多代码从未或很少被实际使用或实施过.

HTTP 200 OK

这是成功请求的标准回复-这是您通常希望和期望的状态代码.

当请求为GET(请求资源)时,响应将包括资源。当请求是POST(或其他类型)时,响应将包含描述或包含操作结果的资源。.

HTTP 201已创建

一些请求旨在创建新资源。当这些成功完成时,将发送201状态以指示已创建新资源。通常将其与PUT请求类型结合使用.

接受HTTP 202

该请求已被接受,但未执行。该请求可能会执行,也可能不会执行.

HTTP 203非权威性信息

响应中包含请求的资源,但是该资源可能是从另一个来源获得的,因此可能不可靠-服务器无法保证该资源的有效性或真实性.

HTTP 204无内容

当服务器成功处理请求但不需要返回任何内容时,将发送此消息。通常,这是由于DELETE请求而导致的.

发送204请求时,用户代理(客户端或Web浏览器)明确不应更改其视图.

例如,如果请求是通过页面上的表单发送的,则响应不应导致刷新表单或浏览器访问另一个页面-请求中没有新内容来替换用户页面中的现有内容视图.

HTTP 205重置内容

205响应类似于204,但是用户代理应该将其视图刷新回当前文档的默认状态.

HTTP 206部分内容

当服务器仅发送部分请求的资源时使用此方法,因为用户请求仅接收部分资源.

当资源足够大或连接不够可靠,从而用户代理希望将资源拆分为一系列“分块”请求时,就会发生这种情况,如下所示:

  • 客户:先给我1/4.
    • 服务器:206部分内容
  • 客户:给我第二个

    1/4.

    • 服务器:206部分内容.
  • 等等…
    • ……依此类推.

这些部分请求由客户端使用范围标头发出。它们可能一个接一个地出现(以防止下载失败),或者一次出现在多个线程中(以加快下载速度).

HTTP 207多状态

像103一样,仅用于WebDAV.

一个WebDAV请求可以有多个子请求,每个子请求都有自己的状态和响应。状态207表示响应的主体将包括一个XML文档,其中详细说明了每个子请求的状态和响应.

已报告HTTP 208

另一个仅限WebDAV的状态代码。这意味着DAV绑定的成员已经在对当前请求的先前回复中被枚举,并且不再被包含.

使用的HTTP 226 IM

服务器已完成对资源的请求,并且响应表示应用于当前实例的一个或多个实例操作的结果。.

HTTP状态码3xx-重定向

每当您放弃某物时,都必须用某物代替.

劳·霍尔兹(Lou Holtz)

当客户端需要完成其他操作以完成请求时,将发送3xx类中的状态。这通常用于将一个URL重定向到另一个URL,尽管并非总是如此.

对于GET请求,浏览器通常将执行第二个请求,而无需用户进行任何输入或其他交互。在其他情况下,需要其他用户干预.

为了避免无限重定向循环,浏览器通常不会对同一请求执行超过五个连续的重定向.

HTTP 300多种选择

当请求导致资源的多个选项时,浏览器将返回300状态。从理论上讲,这可以用于呈现不同的文件格式选项,相同内容的不同媒体呈现方式,甚至可以消除词义歧义.

300多项选择状态具有很大的潜力,但并不经常使用.

HTTP 301永久移动

此状态表明资源已永久更改URL.

搜索引擎会以此为基础更新索引,通常会分配从原始URL到新URL的任何排名.

浏览器和其他类型的客户端通常会缓存新的URL,并自动遵循重定向URL,而无需直接检查原始URL是否有后续请求,即使原始URL是手动提供的也是如此。保存的书签通常也会更新.

通常,如果由于URL结构的域名更改而设置重定向,则应使用301:永久移动重定向.

这些可以在服务器上的.htaccess或httpd.conf文件中设置,或者通常在内容管理系统中设置。 (例如,有几个用于管理301重定向的WordPress插件。)

重新设计网站并更改URL结构时,为原始网站中的每个URL设置301重定向非常重要。否则将导致链接断开和访客失望.

找到HTTP 302

302状态代码通常用于临时重定向。具有301重定向的行业惯例与原始规范有所不同,并且该规范已经发展为符合行业惯例.

最初,规范指出302状态应导致浏览器对新URL进行第二次相同的请求。但是,许多第一代网络浏览器都以将POST请求重写为GET请求的方式来实现它.

为了试图澄清这种情况,更新的规范HTTP / 1.1添加了两个附加状态码303和307。.

302 Found应该模拟已经实施的“切换到GET”行为,而307 Temporary Redirect则是用来替代最初的302预期行为.

但是,大多数服务器和网络框架只是继续使用302,以与未实现新标准的浏览器向后兼容.

后来的HTTP规范默认为标准做法,允许浏览器将POST请求重写为GET请求.

所有这些的结果是,如果您在本应接受POST数据的URL上使用302重定向,则该数据可能不会包含在第二个请求中.

因此,仅当服务器可以实际接受原始URL提交的数据并在数据被接受后使用重定向传递页面时,才应在接受POST数据(Web表单)的URL上使用302。.

实际上,所有这些都使303成为多余的.

通常,不应使用302重定向

HTTP 303查看其他

实际上,这与302状态相同。这意味着可以使用GET方法在另一个URL上找到响应或资源。当收到响应POST请求的响应时,浏览器应假定已接收到数据.

HTTP 304未修改

Web浏览器可以发送带有标头的请求,该标头询问自特定数据和时间以来资源是否已被修改。如果浏览器以前已经下载并保存了资源,则可以执行此操作.

如果自那时以来已被修改,则服务器将以资源和200成功状态响应.

但是,如果尚未修改资源,则服务器将发送状态304未修改,并且也不会发送资源。然后浏览器应提供资源的已保存版本,因为它没有更改.

HTTP 305使用代理

所请求的资源仅可通过代理使用。代理的地址在响应中提供。 Web浏览器应通过代理重试该请求。由于安全原因,并非所有客户端都根据标准实施此操作.

HTTP 306切换代理

306状态最初表示“后续请求应使用指定的代理”。不再使用.

HTTP 307临时重定向

创建此状态是为了复制302状态的原始意图(请参见上文).

307:临时重定向状态表示这次应使用另一个URL重复该请求,但是将来,该请求仍应使用原始URL.

与客户历来如何实现302相反,在发送第二个请求时,不应更改请求方法。例如,应该使用另一个POST请求重复POST请求,并包含所有原始POST数据.

HTTP 308永久重定向

当前请求应使用另一个URL重复,以后所有请求也应发送到该URL.

与307和302一样,此状态与301原始规范中指定的功能相同。但是,对于308,(与307一样)第二个请求应与原始请求相同-使用相同的方法并包含相同的数据.

HTTP 308恢复不完整

此状态码已创建并由Google使用。它是可恢复HTTP请求提案的一部分,用于恢复中止的PUT或POST请求.

HTTP状态码4xx-客户端错误

任何人都可以犯错误,但只有白痴仍然犯错误.

-马库斯·图利乌斯·西塞罗(Marcus Tullius Cicero)

在五种HTTP状态代码类别中,只有两种是真正的“错误代码”,即4xx和5xx类.

当错误似乎来自客户端时,应使用4xx系列HTTP错误-也就是说,请求有问题.

连同错误状态和其他标头信息,服务器通常会提供应该显示给用户的完整响应(称为“实体”,而不是“资源”,但在其他方面相同)。.

旨在为用户提供一种解决客户端错误的方法。这些实体最常见的形式是404页,如下所述.

HTTP 400错误请求

这是对有问题的请求的一般响应。问题可能是语法格式错误,格式无效或欺骗性的请求路由。服务器通常会提供有关请求具体出问题的其他信息.

HTTP 401未经授权

当资源仅限于某些经过身份验证的用户时使用。该状态表示没有身份验证,或者身份验证失败。根据该标准,此代码的响应应包含一种身份验证方法.

需要HTTP 402付款

不常用,因为该规范无法为当前的实现提供足够的信息(它已经被命名并保留以供将来使用,但是尚未采用完整的规范).

目的是将此代码用作某种类型的数字现金或小额支付系统的一部分.

如果YouTube从单个IP地址收到太多请求,则会使用此状态。该响应需要验证码来验证用户是人类.

禁止使用HTTP 403

与401类似,这意味着请求是有效的,但是服务器不会响应它,因为用户没有查看资源的权限。与401:未经授权的错误不同,身份验证没有区别.

找不到HTTP 404

这是最常见的4xx类错误,可能是普通用户最常注意到的HTTP状态.

如果请求有效,则返回404,但是在服务器上根本找不到请求的资源.

大多数网络框架使网站管理员可以创建“ 404页面”。这是用户在发生404错误时看到的页面.

通常,这会将问题告知用户,给您带来不便表示歉意,并提供查找用户正在寻找的内容的替代方式,例如搜索.

一些网站会查看请求URL中的任何关键字,并尝试确定用户可能一直在寻找哪个页面或资源,并为替代页面提供一个或多个选项。.

尽管从技术上讲4xx错误是“客户端错误”,但404错误通常是由于链接无效而导致的-以前具有内容但现在已更改的URL.

出于这个原因,必须交付404页面可能会使网站有些尴尬,因为这通常意味着无法提供正确的URL重定向。含义不是“您弄乱了请求”,而是“我们丢失了您想要的东西”。

因此,网站将其404页变成幽默的地方非常普遍.

不允许使用HTTP 405方法

当请求格式正确且请求的资源确实存在,但请求方法(例如GET或POST)不适用于该资源时,将使用此方法.

例如,应该使用POST请求访问接收表单数据的URL。 GET请求可能会导致405:方法不允许响应。在只读资源上使用PUT也可能会导致这种响应.

HTTP 406不可接受

请求可以并且经常使用MIME类型指定他们要查找的内容类型.

如果请求的资源的类型与请求的“接受”标头中列出的类型不匹配,则服务器将返回406:不可接受的错误.

需要HTTP 407代理身份验证

在获得对请求资源的访问权限之前,客户端必须首先使用响应中指定的代理对自己进行身份验证.

HTTP 408请求超时

当服务器在等待请求时超时时,会发生此错误.

从规格:

客户端在服务器准备等待的时间内未产生请求。客户端可以在以后的任何时间重复请求而无需修改.

HTTP 409冲突

表示由于请求与自身冲突而无法处理。例如,在多个更新导致彼此编辑冲突的情况下,可能会发生这种情况.

HTTP 410消失了

此错误与404错误类似,但旨在指示请求的资源已被有意删除,并且将不再在任何URL上可用。.

客户应通过清除资源来对此响应做出反应-应删除书签,搜索引擎应从其索引中删除资源.

大多数用例都不需要这样做,而404通常是更合适的错误.

HTTP 411要求的长度

所请求的资源要求请求指定其长度,而请求未指定长度.

HTTP 412前提条件失败

请求者在请求的标头中放置了前提条件或要求,而服务器无法满足其中一个或多个要求.

HTTP 413请求实体太大

该请求大于服务器能够处理的请求.

HTTP 414请求URI太长

提供的URI(URL)太长,服务器无法处理.

这通常是由于在URL中作为GET请求中的查询字符串传送的数据量不当而引起的。通常的补救方法是将请求转换为POST并将数据放入请求的正文中.

HTTP 415不支持的媒体类型

当请求实体(正在上传的文件)属于服务器不支持的类型时,通常用于文件上传.

HTTP 416请求的范围不满足

当请求使用范围标头要求文件的一部分时,将返回此值,但所请求的部分不存在。例如,如果请求要求文件的一部分超出文件末尾.

HTTP 417预期失败

如果服务器无法满足请求中的期望标头设置的期望,则服务器将返回此状态.

期望标头最常用于向服务器询问100继续状态.

HTTP 418我是茶壶

如果向茶壶发送了咖啡请求,则此错误代码将由互联网连接的茶壶返回.

HTTP 419身份验证超时

这实际上不是HHTP标准的一部分,但是某些客户端和服务器会使用它。当身份验证已过期的请求者发送了要求经过身份验证的用户的请求时,将返回此消息.

HTTP 420方法失败(Spring框架)

它不是HTTP标准的一部分,而是由Spring在其Web框架中定义的,用于方法失败时使用。不推荐使用.

HTTP 420增强您的平静(Twitter)

不是HTTP标准的一部分,但由Twitter引入。当来自特定客户端的请求受到速率限制时,API版本1使用了此方法.

在这种情况下,更标准的状态是429:请求过多.

HTTP 421错误请求

此状态是在HTTP / 2中引入的。当请求定向到当前无法产生响应的服务器时使用.

HTTP 422不可处理实体

这与WedDAV扩展有关。当语义错误使请求无法处理时返回.

HTTP 423锁定

与WedDAV一起使用。这意味着请求的资源已锁定.

HTTP 424失败的依赖关系

与WebDav一起使用。该请求失败,因为当前请求所依赖的先前请求失败.

需要HTTP 426升级

客户端应切换到升级头中指定的其他协议.

需要HTTP 428前提条件

当服务器要求请求是有条件的时使用.

例如,服务器可能要求该请求包含一个条件,即仅在自特定日期和时间以来未更新资源的情况下才应处理该请求。如果未指定任何条件,则请求失败,并返回此状态.

根据规范,此状态旨在防止“丢失更新”问题,即当客户端修改了服务器上的状态时,客户端获取资源的状态,对其进行修改,然后将其返回给服务器。 ,导致冲突。”

HTTP 429请求过多

客户端(通常由IP地址定义)在指定时间内发送了太多请求.

HTTP 431请求标头字段太大

当单个标头字段或所有标头字段太大而服务器无法处理时,将返回此值.

HTTP 440登录超时(Microsoft)

不是标准的一部分,但是由Microsoft使用。表示会话已过期.

HTTP 444无响应(Nginx)

不属于标准。实际上不是所使用的响应状态.

这是由Nginx为其服务器日志引入的,以指示通常在发生可疑恶意软件攻击的情况下,服务器何时根本没有发送响应并关闭连接。.

HTTP 449重试为(Microsoft)

不是标准的一部分,但由Microsoft使用.

执行响应中所述的操作后,应重试该请求.

HTTP 450被Windows家长控制(Microsoft)阻止

不是标准的一部分,但由Microsoft使用.

打开Windows家长控制并阻止访问给定网页时,会出现此错误。该错误源于WPC应用程序,而不是服务器.

HTTP 451由于法律原因不可用(草稿)

此状态尚未成为标准的一部分,但可以以草稿形式提供.

预期用途用于由于审查或其他法律原因而无法提供资源的情况。代码是对《 Farenheit 451》一书的引用.

HTTP 451重定向(Microsoft)

不是标准的一部分,但由Microsoft使用。如果存在使用效率更高的服务器,或者服务器无法访问用户邮箱,则在Exchange ActiveSync中发生.

HTTP 494请求标头太大(Nginx)

它不是标准的一部分,但已被Nginx使用。现在已弃用.

它的含义与431相同,但是是在该状态成为HTTP标准的一部分之前引入的.

HTTP 495证书错误(Nginx)

不属于标准。实际未使用的响应状态,但是在发生SSL客户端证书错误时会显示在Nginx日志中.

HTTP 496无证书(Nginx)

不属于标准。实际上不是使用的响应状态,而是在客户端不提供证书时显示在Nginx日志中.

HTTP 497 HTTP到HTTPS(Nginx)

不属于标准。实际未使用的响应状态,但是当将纯HTTP请求发送到HTTPS端口时,它会显示在Nginx日志中.

HTTP 498令牌已过期/无效(Esri)

由ArcGIS for Server返回。代码498表示令牌已过期或无效.

HTTP 499客户端关闭请求(Nginx)

不属于标准。实际上不是所使用的响应状态,而是在服务器仍在处理请求时客户端关闭了连接时在Nginx日志中显示,从而使服务器无法发回状态代码.

需要HTTP 499令牌(Esri)

由ArcGIS for Server返回。代码499指示需要令牌(如果未提交令牌).

HTTP状态码5xx-服务器错误

当我考虑到自己的思维能力有多弱和容易出错时,我的确感到惊讶。.

瑞恩·笛卡尔

与4xx系列一起,HTTP状态代码的5xx类是错误代码,在出现问题时发出。 5xx错误代码是服务器错误代码,这意味着在服务器(而非客户端)上出现问题时将返回它们.

只要有可能,服务器应将描述错误的响应实体返回给客户端。用户代理(Web浏览器)应向用户显示此信息.

HTTP 500内部服务器错误

这是最常见的服务器错误,当不确定的错误出现时由Web服务器发出.

通常,对网站或服务器配置的任何更改都应进行彻底的测试,以确保不会产生500:Internal Server Error的错误。.

产生500错误时,查看服务器日志通常可以帮助确定错误的来源。它通常很简单,就像.htaccess文件中的印刷错误一样.

未实现HTTP 501

当HTTP请求方法(例如PUT或DELETE)(在某些情况下是API方法)尚未实现时,将返回此值。这用于Web服务API。通常,501错误的含义是请求方法已计划用于将来的实现.

HTTP 502错误网关

当服务器充当代理或网关,并且从上游服务器收到无效响应时,会发生这种情况.

HTTP 503服务不可用

该服务器当前不可用。例如,由于过载或停机进行维护.

503错误的含义是中断是暂时的.

HTTP 504网关超时

当服务器充当代理或网关时返回此错误,并且在分配的时间内未收到上游服务器的响应.

不支持HTTP 505 HTTP版本

此错误表示服务器不支持请求中使用的HTTP协议版本.

HTTP 506变体也可以协商

要了解506错误,您必须了解透明的内容协商.

通过内容协商,单个URL可以以多种格式传递相同的资源或信息。例如,同一张图像可能被编码为JPEG和GIF.

当此内容协商导致循环时,将发生506错误。例如:请求的资源A有两个变体-B和C。这两个变体都以A作为变体.

为了用更技术的语言来描述,该规范描述了506错误,并带有:

针对请求的透明内容协商产生了循环引用.

HTTP 507存储空间不足(WebDAV; RFC 4918)

此状态用于WebDAV协议。当服务器无法存储完成请求所需的表示形式时,将返回它.

检测到HTTP 508循环

尝试提供请求的资源时,服务器遇到无限循环.

超过HTTP 509带宽限制(Apache)

它不是HTTP标准的一部分,而是由Apache引入和使用的。超出服务器带宽限制时发出.

HTTP 510未扩展

此错误意味着服务器需要进一步扩展请求才能实现它.

需要HTTP 511网络身份验证

当客户端需要进行身份验证以获得网络访问权限时,将返回511错误.

此状态旨在用于拦截用于控制对网络访问的代理时,即用于通过WiFi门户授予对Internet的访问之前要求登录或服务条款协议的“强制门户”.

(如果您曾经尝试在机场或酒店上网,则可能会遇到511错误。)

HTTP 520未知错误

该错误代码不是HTTP标准的一部分,但是被服务器基础设施即服务的几个大型提供商(例如CloudFlare)使用。它用作导致无法满足请求的未识别问题的通用“包罗万象”错误.

HTTP 598网络读取超时错误(Microsoft)

此错误代码不是HTTP标准的一部分,但是由Microsoft HTTP代理用来向代理之前的客户端发送信号,以指示代理后面的网络读取超时.

HTTP 599网络连接超时错误(Microsoft)

此错误代码不是HTTP标准的一部分,但是由Microsoft HTTP代理使用,用于向代理后面的客户端发送信号,以指示代理后面的网络连接超时.

资源资源

  • IANA:互联网号码分配机构的网站.
  • HTTP状态代码注册表:IANA官方页面,其中包含每个代码的RFC链接.

进一步阅读

我们有更多与Web开发相关的指南,教程和信息图:

  • 我坐下? 50个顶级托管服务提供商的状态页:甚至最好的服务器也会不时出现故障。本文提供了50家顶级托管公司的状态页列表.
  • 使用Internet套接字进行网络编程:如果您想学习硬核网络,这是入门的文章.
  • 网站站长工具A-Z的终极列表:从编码到托管再到市场营销,本文涵盖了所有内容.

网页寄存终极指南

查阅我们的《虚拟主机终极指南》。它将解释您做出明智选择所需了解的所有内容.

网页寄存终极指南
网页寄存终极指南

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map