Skip to main content

http 状态码

https://www.jianshu.com/p/8332da83955d

HTTP 响应状态码

需要注意是 接口也可以是异步的,状态码 202 就是一种异步请求状态码。

  • 100 continue 客户端应该继续请求,如果已经完成请忽略

  • 101 switching protocols 客户端携带 Upgrade 请求头后触发,表明即将切换协议

  • 102 processing 服务器已收到并正在处理,没响应可用

  • 103 early hints 主要与 link 标签使用,允许用户预加载

  • 200 OK 请求成功,返回结果携带了资源

注意 200 在不同缓存类型下有不同情况

200 from memory cache 不访问服务器,一般已经加载过该资源且缓存在了内存当中,直接从内存中读取缓存。浏览器关闭后,数据将不存在(资源被释放掉了),再次打开相同的页面时,不会出现 from memory cache。

200 from disk cache 不访问服务器,已经在之前的某个时间加载过该资源,直接从硬盘中读取缓存,关闭浏览器后,数据依然存在,此资源不会随着该页面的关而释放掉下次打开仍然会是 from disk cache。

200 2kb(资源大小数值) 从服务器请求最新数据

一般样式表会缓存在磁盘中,不会缓存到内存中,因为 css 样式加载一次即可渲染出页面。但是脚本可能会随时执行(重复拉取),如果把脚本存在磁盘中,在执行时会把该脚本从磁盘中提取到缓存中来,这样的 IO 开销比较大,有可能会导致浏览器失去响应。

  • 201 created 请求成功,并创建了一个新资源 (多出现于 POST 或某些 PUT)

  • 202 Accepted 请求已收到,但目前还没结果可响应(类似 102)

  • 203 Non-authoritative Information 请求成功,但是返回的实体头部元信息不是预期的

  • 204 No content 没有内容可发送,但头部字段可能有用。用户代理可能会用此时请求头部信息来更新原来资源的头部缓存字段。

  • 205 Reset Content

  • 206 Partial Content

  • 300 Multiple Choice 请求有多个可能的响应

  • 301 Moved Permanently 永久重定向,响应中给出了新的 URL

  • 302 Found 临时重定向 待跳转的 url 通过 location 返回过来 注意我们真正要用的是这个 url,因为 300 系列只是前置条件 后面发出的第二次请求才是真正的目的 接受到 302 状态后,我们手动拿到 location 字段状态码 然后利用请求库自动重定向的 redirectTo 方法,再次发起请求

    最好还要设置最大跳转次数比如 64,否则可能会进入嵌套跳转

  • 303 See Other 别看这个,去 get 我指定的 URI 里的内容

  • 304 Not Modified 跟服务器协商缓存的结果,如缓存没有变动,浏览器可使用缓存

  • 307 Temporary Redirect 跟 302 一样,但是重定向后的请求方法用过与之前一样 比 302 要好一点,有取代的可能 308 Permanent Redirect 跟 301 一样,同上

  • 400 Bad Request 客户端错误的请求语法或请求路由,服务端不会处理请求

  • 401 unauthorized 没权限 用于 token 失效,重定向到登陆页

  • 402 需要支付

  • 403 Forbidden 禁止

  • 404 Not Found 资源不存在,但是经常用于代替 403

  • 405 Method Not Allowed 服务器知道这个方法,但是资源不支持请求方法

  • 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求

  • 408 Request Time-out 服务器等待客户端发送的请求时间过长,超时

  • 409 Confict 服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突

  • 410 Gone 客户端请求的资源已经不存在。410 不同于 404,如果资源以前有现在被永久删除了可使用 410 代码,网站设计人员可通过 301 代码指定资源的新位置

  • 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个 Retry-After 的响应信息

  • 414 Request-URI Too Large 请求的 URI 过长(URI 通常为网址),服务器无法处理

  • 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式

  • 416 (Requested Range not satisfiable),是 HTTP 协议状态码的一种,表示“客户端发送的 HTTP 数据流包含一个“范围”请求,规定了一个无法满足的字节范围-因为被访问的资源不覆盖这个字节范围

  • 417 Expectation Failed 服务器无法满足 Expect 的请求头信息

  • 429 too many requests

  • 500 Internal Server Error 服务端不知道怎么处理,服务器内部出错了

  • 501 Not Implemented 不支持的请求方法

  • 502 Bad gateway 网关没得到正确响应

  • 503 service unavailable 服务器宕机中

  • 504 gateway timeout 网关超时

  • 505 HTTP 版本不支持