关于 HTTP response status codes
HTTP 响应状态码用来表明特定 HTTP 请求是否成功完成。响应状态码根据数字区间被分为几类:
信息响应:100–199。表示服务器收到了请求,需要客户端继续执行操作。
成功响应:200–299。表示服务端响应成功并处理完毕。
重定向响应:300–399。表示需要客户端进一步的操作以完成请求。
客户端错误响应:400–499。表示客户端请求包含语法错误或无法完成请求。
服务端错误响应:500–599。表示服务器在处理请求的过程中发生了错误。
详细 HTTP 响应状态码如下表:
状态码
说明
100
客户端应该继续请求,如果已经完成,则忽略它。
101
服务器即将切换协议。
102
服务器已收到并正在处理该请求,但当前没有响应可用。
103
服务端在处理主资源时向客户端发送关键子资源的信息。
200
请求成功。
201
请求已成功,并创建了一个新的资源。
202
请求已经接收到,但还未处理。
203
服务器已成功处理了请求,但返回的元信息不是在原始服务器上而是一个副本。
204
服务器已成功处理了请求,没有内容可以返回,但头部字段可能有用。
205
服务器已成功处理了请求,重置内容,客户端需要清除表单域。
206
客户端发送 Range 范围标头以只请求资源的一部分时的响应代码。
207
对于多个状态代码都可能合适的情况,传输有关多个资源的信息。
226
服务器已经完成了对资源的GET请求,并且响应是对当前实例应用的一个或多个实例操作结果的表示。
300
请求拥有多个可能的响应。用户代理或者用户应当从中选择一个。
301
请求资源的 URL 已永久更改。在响应中给出了新的 URL。
302
请求资源的 URI 已临时更改。
303
指示客户端通过一个 GET 请求在另一个 URI 中获取资源。
304
指示客户端响应还没有被修改,客户端可以继续使用相同的缓存版本。
307
服务器发送此响应,以指示客户端使用在前一个请求中使用的相同方法在另一个 URI 上获取所请求的资源。这与 302 Found HTTP 响应代码具有相同的语义,但用户代理 不能 更改所使用的 HTTP 方法:如果在第一个请求中使用了 POST,则在第二个请求中必须使用 POST
308
表示资源已永久位于由 Location: HTTP Response 标头指定的另一个 URI。这与 301 Moved Permanently HTTP 响应代码具有相同的语义,但用户代理不能更改所使用的 HTTP 方法:如果在第一个请求中使用 POST,则必须在第二个请求中使用 POST。
400
客户端错误(例如,错误的请求语法、无效的请求消息帧或欺骗性的请求路由),服务器无法或不会处理请求。
401
客户端必须要进行身份验证才能获得请求的响应。
403
客户端没有访问内容的权限,因此服务器拒绝提供请求的资源。与 401 Unauthorized 不同,服务器知道客户端的身份。
404
服务器找不到请求的资源。
405
但目标资源不支持该 Method。例如,不支持 POST 方法。
406
当 Web 服务器在执行服务端驱动型内容协商机制后,没有发现任何符合用户给定标准的内容时,就会发送此响应。
407
类似于 401 Unauthorized 但是认证需要由代理完成。
408
表示服务器想关闭这个未使用的连接。
409
当请求与服务器的当前状态冲突时,将发送此响应。
410
当请求的内容已从服务器中永久删除且没有转发地址时,将发送此响应。客户端需要删除缓存和指向资源的链接。
411
服务端拒绝该请求,因为 Content-Length 头部字段未定义。
412
客户端在其头文件中指出了服务器不满足的先决条件。
413
请求实体大于服务器定义的限制。服务器可能会关闭连接,或在标头字段后返回重试 Retry-After。
414
客户端请求的 URI 比服务器能接收的长度长。
415
服务器不支持请求数据的媒体格式。
416
无法满足请求中 Range 标头字段指定的范围。该范围可能超出了目标 URI 数据的大小。
417
此响应代码表示服务器无法满足 Expect 请求标头字段所指示的期望。
418
I'm a teapot. 是一种幽默的响应码,用于表示您尝试访问的服务器是一个茶壶,因此无法满足请求。该代码是一个玩笑,不应被认真对待。
421
请求被定向到无法生成响应的服务器。
422
请求格式正确,但由于语义错误而无法遵循。
423
正在访问的资源已锁定。
424
由于前一个请求失败导致本次请求失败。
425
表示服务器不愿意冒险处理可能被重放的请求。
426
服务器拒绝使用当前协议执行请求。
428
源服务器要求请求是有条件的。
429
用户在给定的时间内发送了太多请求。
431
因为 header 太大,服务器不愿意处理请求。
451
用户代理请求了无法合法提供的资源,例如政府审查的网页。
500
服务器遇到了不知道如何处理的情况。
501
服务器不支持请求方法,因此无法处理。
502
服务器作为网关得到了一个错误的响应。
503
服务器没有准备好处理请求。常见原因是服务器因维护或重载而停机。
504
当服务器充当网关且无法及时获得响应时,会给出此错误响应。
505
服务器不支持请求中使用的 HTTP 版本。
506
服务器存在内部配置错误。
507
表示服务器不能存储相关内容。
508
服务器在处理请求时检测到无限循环。
510
服务器需要对请求进行进一步扩展才能完成请求。
511
指示客户端需要进行身份验证才能获得网络访问权限。
以上状态码由 section 10 of RFC 2616 定义。你可以在 RFC 7231 中找到最新的状态码定义规范。
另外,在实际开发中,如果出现不在此列表中的 HTTP 状态码,它有可能是相关软件系统自定义的,属于非标准的响应码。
cf段位表:穿越火线最新排位等级详解与晋升攻略10款值得安利的文学艺术类app