HTTP 响应状态代码
HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。 响应分为五类:
-
信息性回复 (
100 – 199
) -
成功响应 (
200 – 299
) -
重定向消息 (
300 – 399
) -
客户端错误响应 (
400 – 499
) -
服务器错误响应 (
500 – 599
)
下面列出的状态代码由 RFC 9110 定义。
注意:如果收到的响应不在此列表中,则该响应是非标准响应,可能是服务器软件的自定义响应。
信息响应
100 Continue
此临时响应指示客户端应继续请求,或者如果请求已完成,则忽略响应。
101 Switching Protocols
发送此代码是为了响应来自客户端的 升级
请求标头,并指示服务器要切换到的协议。
102 处理
(WebDAV)
此代码指示服务器已收到并正在处理请求,但尚无可用的响应。
103 Early Hints
此状态代码主要用于 Link
标头,让用户代理在服务器准备响应或预连接到页面需要资源的源时开始预加载资源。
成功响应
200 OK
请求成功。“success”的结果含义取决于 HTTP 方法:
-
GET
:资源已在消息正文中获取并传输。 -
HEAD
:表示标头包含在响应中,不包含任何消息正文。 -
PUT
或 :描述操作结果的资源在消息正文中传输。POST
-
TRACE
:消息正文包含服务器接收到的请求消息。
201 Created
请求成功,并因此创建了新资源。这通常是在请求或某些请求之后发送的响应。POST PUT
202 Accepted
已收到请求,但尚未采取行动。 它是非承诺的,因为 HTTP 中没有办法稍后发送指示请求结果的异步响应。 它适用于其他进程或服务器处理请求的情况,或用于批处理的情况。
203 Non-Authoritative Information
此响应代码意味着返回的元数据与源服务器提供的元数据不完全相同,而是从本地或第三方副本收集的。 这主要用于其他资源的镜像或备份。 除该特定情况外,响应优先于此状态。200 OK
204 No Content
没有要为此请求发送的内容,但标头可能很有用。 用户代理可以使用新标头更新此资源的缓存标头。
205 Reset Content
告知用户代理重置发送此请求的文档。
206 Partial Content
当从客户端发送 Range
标头以仅请求部分资源时,将使用此响应代码。
207 多状态
(WebDAV))
传达有关多个资源的信息,适用于可能适合多个状态代码的情况。
208 已报告
(WebDAV)
在响应元素内部使用,以避免重复枚举指向同一集合的多个绑定的内部成员。[dav:propstat](dav:propstat)
使用 226 IM
(HTTP Delta 编码))
服务器已完成对资源的请求,响应是应用于当前实例的一个或多个实例操作的结果的表示形式。GET
重定向消息
300 Multiple Choices
该请求具有多个可能的响应。用户代理或用户应选择其中之一。(没有标准化的方法来选择其中一个响应,但建议使用指向可能性的 HTML 链接,以便用户可以选择。
301 Moved Permanently
所请求资源的 URL 已永久更改。响应中给出了新的 URL。
302 Found
此响应代码表示已临时更改所请求资源的 URI。 将来可能会对 URI 进行进一步更改。因此,客户端在将来的请求中应使用相同的 URI。
303 See Other
服务器发送此响应以指示客户端使用 GET 请求在另一个 URI 上获取请求的资源。
304 Not Modified
这用于缓存目的。 它告诉客户端响应尚未修改,因此客户端可以继续使用响应的相同缓存版本。
305 Use Proxy
在早期版本的 HTTP 规范中定义,以指示请求的响应必须由代理访问。 由于对代理带内配置的安全问题,它已被弃用。
306 unused
不再使用此响应代码;它只是保留的。它用于 HTTP/1.1 规范的早期版本。
307 Temporary Redirect
服务器发送此响应以指示客户端使用与上一个请求中使用的相同方法在另一个 URI 上获取请求的资源。 这与 HTTP 响应代码具有相同的语义,不同之处在于用户代理不得更服务器托管网改使用的 HTTP 方法:如果在第一个请求中使用了 a,则必须在第二个请求中使用 a。302 FoundPOSTPOST
308 Permanent Redirect
这意味着资源现在永久位于另一个 URI 中,由 HTTP 响应标头指定。 这与 HTTP 响应代码具有相同的语义,不同之处在于用户代理不得更改使用的 HTTP 方法:如果在第一个请求中使用了 a,则必须在第二个请求中使用 a。Location:301 Moved Permanently POST POST
客户端错误响应
400 Bad Request
由于被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息框架或欺骗性请求路由),服务器无法或不会处理请求。
401 Unauthorized
尽管 HTTP 标准指定了“未经授权”,但从语义上讲,此响应的意思是“未经身份验证”。 也就是说,客户端必须对自身进行身份验证才能获得请求的响应。
402 Payment Required
此响应代码保留供将来使用。 创建此代码的最初目标是将其用于数字支付系统,但是此状态代码很少使用,并且不存在标准约定。
403 Forbidden
客户端对内容没有访问权限;也就是说,它是未经授权的,因此服务器拒绝提供请求的资源。 与 401 Unauthorized
不同,客户端的身份是服务器已知的。
404 Not Found
服务器找不到请求的资源。 在浏览器中,这意味着无法识别 URL。 在 API 中,这也可能意味着终结点有效,但资源本身不存在。 服务器也可以发送此响应,而不是向未经授权的客户端隐藏资源的存在。 由于此响应代码在网络上频繁出现,因此可能是最广为人知的。403 Forbidden
405 Method Not Allowed
请求方法为服务器所知,但不受目标资源支持。 例如,API 可能不允许调用来删除资源。DELETE
406 Not Acceptable
当 Web 服务器在执行服务器驱动的内容协商后,未找到任何符合用户代理给定条件的内容时,将发送此响应。
407 Proxy Authentication Required
这类似于 401 Unauthorized
,但身份验证需要由代理完成。
408 Request Timeout
此响应由某些服务器在空闲连接上发送,即使客户端之前没有任何请求也是如此。 这意味着服务器想要关闭此未使用的连接。 由于某些浏览器(如 Chrome、Firefox 27+ 或 IE9)使用 HTTP 预连接机制来加快冲浪速度,因此使用此响应的次数要多得多。 另请注意,某些服务器只是关闭连接而不发送此消息。
409 Conflict
当请求与服务器的当前状态冲突时,将发送此响应。
410 Gone
当请求的内容已从服务器中永久删除且没有转发地址时,将发送此响应。 客户端应删除其缓存和指向资源的链接。 HTTP 规范打算将此状态代码用于“限时促销服务”。 API 不应强制使用此状态代码指示已删除的资源。
411 Length Required
服务器拒绝了请求,因为未定义标头字段,而服务器需要它。Content-Length
412 Precondition Failed
客户端在其标头中服务器托管网指示了服务器不满足的前提条件。
413 Payload Too Large
请求实体大于服务器定义的限制。 服务器可能会关闭连接或返回标头字段。Retry-After
414 URI Too Long
客户端请求的 URI 比服务器愿意解释的要长。
415 Unsupported Media Type
服务器不支持所请求数据的媒体格式,因此服务器拒绝请求。
416 Range Not Satisfiable
无法满足请求中标头字段指定的范围。 范围可能超出了目标 URI 数据的大小。Range
417 Expectation Failed
此响应代码表示服务器无法满足请求标头字段指示的期望。Expect
418 I'm a teapot
服务员拒绝尝试用茶壶冲泡咖啡。
421 Misdirected Request
该请求定向到无法生成响应的服务器。 这可以由未配置为为请求 URI 中包含的方案和权限组合生成响应的服务器发送。
422 无法处理的内容
(WebDAV))
请求格式正确,但由于语义错误而无法遵循。
423 锁定
(WebDAV)
正在访问的资源已锁定。
424 失败的依赖项
(WebDAV)
由于上一个请求失败,请求失败。
425 Too Early
指示服务器不愿意冒险处理可能重播的请求。
426 Upgrade Required
服务器拒绝使用当前协议执行请求,但在客户端升级到其他协议后可能愿意这样做。 服务器在 426 响应中发送 Upgrade
标头,以指示所需的协议。
428 Precondition Required
源服务器要求请求是有条件的。 此响应旨在防止“丢失更新”问题,即客户端对资源的状态进行修改,然后将其返回服务器,而此时第三方修改了服务器上的状态,从而导致冲突。GET PUT
429 Too Many Requests
用户在给定的时间内发送了过多的请求(“速率限制”)。
431 Request Header Fields Too Large
服务器不愿意处理请求,因为其标头字段太大。 减小请求标头字段的大小后,可以重新提交请求。
451 Unavailable For Legal Reasons
用户代理请求了无法合法提供的资源,例如被政府审查的网页。
服务器错误响应
500 Internal Server Error
服务器遇到不知道如何处理的情况。
501 Not Implemented
服务器不支持请求方法,无法处理。服务器需要支持的唯一方法(因此不得返回此代码)是 和 。GETHEAD
502 Bad Gateway
此错误响应意味着服务器在作为网关获取处理请求所需的响应时,得到了无效的响应。
503 Service Unavailable
服务器尚未准备好处理请求。 常见原因是服务器因维护而停机或过载。 请注意,应与此响应一起发送一个用户友好的页面,解释问题。 此响应应用于临时条件,如果可能,HTTP 标头应包含恢复服务之前的估计时间。 网站站长还必须注意与此响应一起发送的与缓存相关的标头,因为这些临时条件响应通常不应被缓存。Retry-After
504 Gateway Timeout
当服务器充当网关并且无法及时获得响应时,会给出此错误响应。
505 HTTP Version Not Supported
服务器不支持请求中使用的 HTTP 版本。
506 Variant Also Negotiates
服务器存在内部配置错误:所选变体资源配置为参与透明内容协商本身,因此不是协商过程中的正确端点。
507 存储空间不足
(WebDAV)
无法对资源执行该方法,因为服务器无法存储成功完成请求所需的表示形式。
检测到 508 循环
(WebDAV))
服务器在处理请求时检测到无限循环。
510 Not Extended
服务器需要进一步扩展请求才能满足它。
511 Network Authentication Required
指示客户端需要进行身份验证才能获得网络访问权限。
浏览器兼容性
待补充
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
国产数据库圈,为啥那么多水货?” 本文分享自华为云社区《Sermant热插拔能力在故障注入场景的实践》,作者:张豪鹏 华为云高级软件工程师 一、 前言 Sermant是基于Java字节码增强技术的无代理服务网格,采用Java字节码增强技术为宿主应用程序提供服务…