http常见状态码

常见状态码

1xx Informational – 信息类型状态
100 Continue – 继续
服务器已收到请求标头,客户端应继续发送请求主体(如果需要发送正文的请求;例如,POST请求)
在针对不适当的标头拒绝请求后向服务器发送大型请求主体将是低效的。要让服务器检查请求的标头,客户端必须Expect: 100-continue在其初始请求中作为标头发送,并100 Continue在发送正文之前接收响应的状态代码。如果客户端收到错误代码,如403(禁止)或405(方法不允许),则它不应发送请求的正文。响应417 Expectation Failed表明请求应该重复,而不是Expect标题,因为它表明服务器不支持期望(例如,HTTP / 1.0服务器的情况)

101 Switching Protocols – 切换协议
请求者要求服务器切换协议,且服务器已接收协议切换请求

102 Processing – 请求处理中(WebDAV、RFC2518)
WebDAV请求可能包含许多涉及文件操作的子请求,需要很长时间才能完成请求。此代码表示服务器已收到并正在处理请求,但尚未提供响应。[7]这可以防止客户端超时并假设请求丢失

103 Early Hints – 先期提示(RFC8297)
用于在最终HTTP消息之前返回一些响应头

2xx Success – 响应成功类型状态码
200 OK – 请求成功
HTTP请求成功的标准响应,实际响应取决于使用的请求方法,在GET请求中,响应将包含与所请求资源相对应的实体,在POST请求中,响应将包含描述或包含操作结果的实体

201 Created – 已创建
请求成功并且服务器创建了新的资源

202 Accepted – 已接受
该请求已被接受处理,但处理尚未完成,该请求最终可能会或可能不会被执行,并且在处理发生时可能不被允许

203 Non-authoritative Information – 非授权信息(自HTTP1.1起)
服务器是一个转换代理(例如Web加速器),它从其原点接收200 OK,但返回原始响应的修改版本

204 No Content – 无内容
服务器成功处理了请求,但未返回任何内容

205 Reset Content – 重置内容

服务器成功处理了请求,但未返回任何内容,与204响应不同,此响应要求请求者重置文档视图

206 Partial Content – 部分内容(RFC7233)
由于客户端发送的范围标头,服务器仅提供部分资源(字节服务)
HTTP客户端使用范围标头来恢复中断的下载,或将下载拆分为多个并发流

207 Multi-Status – 多状态(WebDAV、RFC4918)
默认情况下,后面的消息体是XML消息,并且可以包含许多单独的响应代码,具体取决于生成的子请求数

208 Already Reported – 已报告的(WebDAV、RFC5842)
DAV绑定的成员已经在(多状态)响应的前一部分中枚举,并且不再被包括在内

226 IM Used – IM使用(RFC3229)
服务器已完成对资源的请求,并且响应是应用于当前实例的一个或多个实例操作的结果的表示

3xx Redirection – 重定向类型状态码
此类状态代码表示客户端必须采取其他操作才能完成请求,大多这些状态代码用于URL重定向,仅当第二请求中使用的方法是GET或HEAD时,用户代理才可以执行附加动作而无需用户交互,用户代理可以自动重定向请求,用户代理应该检测并干预以防止循环重定向

300 Multiple Choices – 多选择
表示客户端可以选择的资源有多个选项(通过代理驱动的内容协商)。例如,此代码可用于呈现多个视频格式选项,列出具有不同文件扩展名的文件,或建议词义消歧

301 Moved Permanently – 永久移动
请求的资源已永久迁移到新位置,需要制定新的URL,请求者应自动将请求者转到新位置

302 Found – 找到(之前“暂时移动”)
告诉客户查看(浏览)另一个URL。302已被303和307取代
这是与标准相矛盾的行业惯例的一个例子,HTTP1.0规范(RFC 1945)要求客户端执行临时重定向(原始描述短语是“暂时移动”),但是流行的浏览器实现302具有303 See Other的功能,因此HTTP1.1添加了状态代码303和307来区分这两种行为,但是一些Web应用程序和框架使用302状态代码,就好像它是303一样

303 See Other – 查看其他(自HTTP1.1起)
可以使用GET方法在另一个URI下找到对请求的响应,当接收到POST(或PUT / DELETE)时,客户端应该假定服务器已经接收到数据,并且应该向给定的URI发出新的GET请求

304 Not Modified – 未修改(RFC7232)
表示自请求标头 If-Modified-Since或If-None-Match 指定的版本以来未对资源进行修改。在这种情况下,不需要重新传输资源,因为客户端仍然具有先前下载的副本。

305 Use Proxy – 使用代理(自HTTP1.1起)
请求的资源仅可通过代理获得,代理的地址在响应中提供
许多HTTP客户端(例如Mozilla和Internet Explorer)无法正确处理具有此状态代码的响应,主要是出于安全原因

306 Switch Proxy – 切换代理(已停止使用)
已停止使用。最初的意思是“后续请求应该使用指定的代理”

307 Temporary Redirect – 临时重定向(自HTTP1.1起)
本次请求需要使用另一个URI进行请求,后继请求者应使用原有位置来进行以后的请求,与历史上实现302的方式相反,在重新发出原始请求时不允许更改请求方法。例如,应使用另一个POST请求重复POST请求

308 Permanent Redirect – 永久重定向(RFC7538)
应使用另一个URI重复请求和所有将来的请求。307和308并行302和301的行为,但不允许HTTP方法改变。因此,例如,将表单提交到永久重定向的资源可以顺利地继续

4xx Client Error – 客户端错误类型状态码
此类状态代码适用于错误似乎是由客户端引起的情况。除响应HEAD请求外,服务器应包含一个实体,其中包含错误情况的说明,以及它是临时还是永久条件。这些状态代码适用于任何请求方法。用户代理应向用户显示任何包含的实体

400 Bad Request – 错误请求
由于明显的客户端错误(例如,格式错误的请求语法,大小太大,无效的请求消息成帧或欺骗性请求路由),服务器不能或不会处理请求

401 Unauthorized – 未认证的(RFC7235)
与403 Forbidden类似,但专门用于需要身份验证且已失败或尚未提供的情况
响应必须包含WWW-Authenticate头字段,其中包含适用于所请求资源的质询
注意:某些站点在从网站(通常是网站域)禁止IP地址时发出HTTP 401,并且该特定地址被拒绝访问网站的权限。

402 Payment Required – 需要付款
保留供将来使用。最初的意图是这个代码可能被用作某种形式的数字现金或微支付方案的一部分

403 Forbidden – 禁止
请求有效,但服务器拒绝操作。用户可能没有资源的必要权限或者可能需要某种帐户

404 Not Found – 未找到
找不到请求的资源,但将来可能会提供。客户的后续请求是允许的

405 Method Not Allowed – 方法不允许
请求的资源不支持该请求方法,例如,表单上的GET请求需要通过POST呈现数据或者在只读资源上呈现PUT请求

406 Not Acceptable – 不可接受
无法使用请求的内容特性响应请求的资源

407 Proxy Authentication Required – 需要代理身份验证(RFC7235)
客户端必须首先使用代理进行身份验证

408 Request Timeout – 请求超时
服务器超时,根据HTTP规范:“客户端在服务器准备等待的时间内没有产生请求。客户端可以在以后不经修改的情况下重复请求。”

409 Conflict – 冲突
表示由于资源的当前状态发生冲突而无法处理请求,服务器必须在响应中包含有关冲突的信息,例如多个同时更新之间的编辑冲突

410 Gone – 已经过去了
表示请求的资源不再可用,并且不再可用,当有意删除资源并清除资源时,应使用此方法。收到410状态代码后,客户端将来不应该请求该资源。搜索引擎等客户端应从索引中删除资源。大多数用例不要求客户端和搜索引擎清除资源,而是可以使用“404 Not Found”

411 Length Required – 所需长度
请求未指定其内容的长度,请求必须指定请求的内容长度

412 Precondition Failed – 为满足前提条件(RFC7232)
服务器不符合请求者提出请求的前提条件之一

413 Payload Too Large – 有效负载过大(RFC7231)
请求大于服务器愿意或能够处理的请求。以前称为“请求实体太大”

414 Request-URI Too Long – URI太长(RFC7231)
提供的URI太长,服务器无法处理。通常大多数据的结果被编码为GET请求的查询字符串,在这种情况下,它应该转换为POST请求

415 Unsupported Media Type – 不支持的媒体类型
请求实体具有服务器或资源不支持的媒体类型。例如,客户端将图像上载为image / svg + xml,但服务器要求图像使用不同的格式

416 Requested Range Not Satisfiable – 请求范围不满足(RFC7233)
客户端已请求文件的一部分(字节服务),但服务器无法提供该部分。例如,如果客户端要求文件的一部分超出文件末尾

417 Expectation Failed – 期望失败
服务器无法满足Expect请求标头字段的要求

418 I’m a teapot – 我是茶壶(RFC2324,RFC7168)
这段代码在1998年被定义为传统的IETF 愚人节笑话之一,在RFC 2324,超文本咖啡壶控制协议中,预计不会由实际的HTTP服务器实现,RFC指定此代码应由要求冲泡咖啡的茶壶返回,此HTTP状态在某些网站(包括Google.com)中用作复活节彩蛋

421 Misdirected Request – 错误请求(RFC7540)
该请求针对的是无法生成响应的服务器,例如:由于连接重用

422 Unprocessable Entity – 不可处理的实体(WebDAV; RFC4918)
请求格式正确,但由于语义错误而无法遵循

423 Locked – 已锁定(WebDAV、RFC4918)
正在访问的资源已被锁定

424 Failed Dependency – 依赖失败(WebDAV、RFC4918)
请求失败,因为它依赖于另一个请求并且该请求失败(例如,PROPPATCH)

426 Upgrade Required – 需要升级
客户端应切换到升级头字段中给出的不同协议,如:TLS1.0

428 Precondition Required – 必备条件(RFC6585)
原始服务器要求请求是有条件的。旨在防止“丢失更新”问题,其中客户端获取资源的状态,修改它,并将其恢复到服务器,同时第三方修改了服务器上的状态,导致冲突

429 Too Many Requests – 请求太多(RFC6585)
用户在给定的时间内发送了太多请求,旨在与限速方案一起使用

431 Request Header Fields Too Large – 请求标头字段太大(RFC6585)
服务器不愿意处理请求,因为单个标头字段或所有标头字段总是太大

451 Unavailable For Legal Reasons – 因法律原因不可用(RFC7725)
服务器运营商已收到拒绝访问资源或包含所请求资源的一组资源的合法要求

5xx Server Error – 服务器错误类型状态码
此类状态代码表示服务器无法满足请求

500 Internal Server Error – 内部服务器错误
一个通用错误消息,在遇到意外情况时给出,并且没有更合适的消息

501 Not Implemented – 未实施
服务器要么不识别请求方法,要么无法满足请求,通常这意味着未来的可用性(例如,Web服务API的新功能)

502 Bad Gateway – 错误的网关
服务器充当网关或代理,并从上游服务器收到无效响应

503 Service Unavailable – 服务不可用
服务器当前不可用(因为它过载或停机以进行维护),通常这是一个临时状态

504 Gateway Timeout – 网关超时
服务器充当网关或代理,并未从上游服务器收到及时响应

505 HTTP Version Not Supported – 不支持HTTP版本
服务器不支持请求中使用的HTTP协议版本

506 Variant Also Negotiates – Variant也谈判
请求的透明内容协商导致循环引用

507 Insufficient Storage – 存储空间不足(WebDAV、RFC4918)
服务器无法完成存储

508 Loop Detected – 死循环(WebDAV、RFC5842)
务器在处理请求时检测到无限循环

510 Not Extended – 未扩展(RFC2774)
服务器需要进一步扩展请求才能实现它

511 Network Authentication Required – 需要511网络验证(RFC6585)
客户端需要进行身份验证才能获得网络访问权限。旨在用于拦截用于控制对网络的访问的代理(例如:用于在通过Wi-Fi热点授予完全Internet访问权限之前需要同意服务条款的“ 强制门户 ”