跳到主要内容

HTTP 状态码

HTTP 响应状态码用来表明特定 HTTP 请求是否成功完成

参考 - MDN 状态码

响应被归为以下五大类:

  • 信息响应 (100 - 199)

  • 成功响应 (200 - 299)

  • 重定向消息 (300 - 399)

  • 客户端错误响应 (400 - 499)

  • 服务端错误响应 (500 - 599)

信息响应

英文描述
100Continue这个临时响应表明,迄今为止的所有内容都是可行的,客户端应该继续请求,如果已经完成,则忽略它
101Switching Protocols该代码是响应客户端的 Upgrade (en-US) 请求头发送的,指明服务器即将切换的协议
102Processing (en-US) (WebDAV)此代码表示服务器已收到并正在处理该请求,但当前没有响应可用
103Early Hints此状态代码主要用于与 Link 链接头一起使用,以允许用户代理在服务器准备响应阶段时开始预加载 preloading 资源

成功响应

英文描述
200OK请求成功
201Created该请求已成功,并因此创建了一个新的资源
202Accepted请求已经接收到,但还未响应,没有结果
203Non-Authoritative Information服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝
204No Content对于该请求没有的内容可发送,但头部字段可能有用
205Reset Content告诉用户代理重置发送此请求的文档
206Partial Content当从客户端发送Range范围标头以只请求资源的一部分时, 将使用此响应代码
207Multi-Status对于多个状态代码都可能合适的情况,传输有关多个资源的信息
208Already Reported在 DAV 里面使用 <dav:propstat> 响应元素以避免重复枚举多个绑定的内部成员到同一个集合
226IM Used服务器已经完成了对资源的GET请求, 并且响应是对当前实例应用的一个或多个实例操作结果的表示

重定向消息

英文描述
300Multiple Choice请求拥有多个可能的响应
301Moved Permanently请求资源的 URL 已永久更改。在响应中给出了新的 URL
302Found此响应代码表示所请求资源的 URI 已 暂时 更改
303See Other服务器发送此响应,以指示客户端通过一个 GET 请求在另一个 URI 中获取所请求的资源
304Not Modified这是用于缓存的目的。它告诉客户端响应还没有被修改,因此客户端可以继续使用相同的缓存版本的响应
305Use Proxy在 HTTP 规范中定义,以指示请求的响应必须被代理访问。由于对代理的带内配置的安全考虑,它已被弃用
306unused此响应代码不再使用;它只是保留。它曾在 HTTP/1.1 规范的早期版本中使用过
307Temporary Redirect服务器发送此响应,以指示客户端使用在前一个请求中使用的相同方法在另一个 URI 上获取所请求的资源
308Permanent Redirect这意味着资源现在永久位于由Location: HTTP Response 标头指定的另一个 URI

客户端错误响应

英文描述
400Bad Request由于被认为是客户端错误(例如,错误的请求语法、无效的请求消息帧或欺骗性的请求路由),服务器无法或不会处理请求
401Unauthorized虽然 HTTP 标准指定了"unauthorized",但从语义上来说,这个响应意味着"unauthenticated"。也就是说,客户端必须对自身进行身份验证才能获得请求的响应
402Payment Required (实验性)此响应代码保留供将来使用。创建此代码的最初目的是将其用于数字支付系统
403Forbidden客户端没有访问内容的权限;也就是说,它是未经授权的,因此服务器拒绝提供请求的资源。与 401 Unauthorized 不同,服务器知道客户端的身份
404Not Found服务器找不到请求的资源。在浏览器中,这意味着无法识别 URL。在 API 中,这也可能意味着端点有效,但资源本身不存在
405Method Not Allowed服务器知道请求方法, 但目标资源不支持该方法。例如, API 可能不允许调用DELETE来删除资源
406Not Acceptable当 web 服务器在执行服务端驱动型内容协商机制后,没有发现任何符合用户代理给定标准的内容时,就会发送此响应
407Proxy Authentication Required类似于 401 Unauthorized 但是认证需要由代理完成
408Request Timeout此响应由一些服务器在空闲连接上发送,即使客户端之前没有任何请求
409Conflict当请求与服务器的当前状态冲突时,将发送此响应
410Gone当请求的内容已从服务器中永久删除且没有转发地址时,将发送此响应
411Length Required服务端拒绝该请求因为 Content-Length 头部字段未定义但是服务端需要它
412Precondition Failed客户端在其头文件中指出了服务器不满足的先决条件
413Payload Too Large请求实体大于服务器定义的限制
414URI Too Long客户端请求的 URI 比服务器愿意接收的长度长
415Unsupported Media Type服务器不支持请求数据的媒体格式,因此服务器拒绝请求
416Range Not Satisfiable无法满足请求中 Range 标头字段指定的范围
417Expectation Failed此响应代码表示服务器无法满足 Expect 请求标头字段所指示的期望
418I'm a teapot服务端拒绝用茶壶煮咖啡。笑话,典故来源茶壶冲泡咖啡
421Misdirected Request请求被定向到无法生成响应的服务器
422Unprocessable Entity请求格式正确,但由于语义错误而无法遵循
423Locked正在访问的资源已锁定
424Failed Dependency由于前一个请求失败,请求失败
425Too Early (实验性)表示服务器不愿意冒险处理可能被重播的请求
426Upgrade Required服务器拒绝使用当前协议执行请求,但在客户端升级到其他协议后可能愿意这样做
428Precondition Required源服务器要求请求是有条件的
429Too Many Requests用户在给定的时间内发送了太多请求 ("限制请求速率")
431Request Header Fields Too Large服务器不愿意处理请求,因为其头字段太大。在减小请求头字段的大小后,可以重新提交请求
451Unavailable For Legal Reasons用户代理请求了无法合法提供的资源,例如政府审查的网页

服务端错误响应

英文描述
500Internal Server Error服务器遇到了不知道如何处理的情况
501Not Implemented服务器不支持请求方法,因此无法处理
502Bad Gateway此错误响应表明服务器作为网关需要得到一个处理这个请求的响应,但是得到一个错误的响应
503Service Unavailable服务器没有准备好处理请求
504Gateway Timeout当服务器充当网关且无法及时获得响应时,会给出此错误响应
505HTTP Version Not Supported服务器不支持请求中使用的 HTTP 版本
506Variant Also Negotiates服务器存在内部配置错误
507Insufficient Storage (WebDAV)无法在资源上执行该方法,因为服务器无法存储成功完成请求所需的表示
508Loop Detected (WebDAV)服务器在处理请求时检测到无限循环
510Not Extended服务器需要对请求进行进一步扩展才能完成请求
511Network Authentication Required指示客户端需要进行身份验证才能获得网络访问权限


参考链接