共计 1218 个字符,预计需要花费 4 分钟才能阅读完成。
喵:铲屎的,你还在为 HTTP 状态码而苦恼码?本喵为你趣味解惑
1xx: 信息,服务器收到请求,需要请求者继续执行请求操作
100: 服务器接收了一部分,等待剩余部分。come on!
使用 curl 做 post 请求大于 1024 时, curl 并不会直接发起 post 请求,而是发起一个请求,包含 Expect: 100-continue,询问 server 是否接受数据。接收到 server 返回的 100-continue 应答后,才把数据 post 给 server
101:: 切换协议。使用 websockets 时会用到协议切换,服务器会发送一个 upgrade 响应头来表示其正在切换过去的协议。
2xx: 成功,操作被成功接收并处理
200: OK
201: 成功的应答状态吗,表示请求已经被成功处理,并且创建了新的资源
202: 服务器已接收请求,但未处理。最终该请求可能执行,也可能未执行。
模拟场景:你老妈喊你吃饭,你一直装作听不见。你老妈喊你 3 次后,你还是无反应,你老妈直接 KO 你。
例:报表查询,耗时 30~60s。client 发送 post 请求,服务器接收参数并返回 202,10s 后,继续轮询,结果为 200 或 202 或 404,若为 202,则继续轮询,假定 2min 仍没有成功,则失败。
204: 服务器不需要返回任何实体内容。你可以认为是一个没有响应体的 200 响应。只是 204 当前页面不会发生任何变化,同时页面的 url 地址也保持不变
206: 服务器已处理了部分 get 请求。多用于客户端加载比较大的嵌入文件,如视频,pdf 文件等
3xx: 重定向,需要进一步的操作以完成请求
300: 服务器可执行多种操作。服务器可根据请求选择一种操作或提供一个操作列表供其选择。
301: 永久性移动。
模拟场景:你平时在 H1 租房住,房子到期了,你又去其他地方 H2 租房子了,之前你的邻居、伙伴要想联系你,只好先去 H1 房子,然后打听你的地址,再去 H2 房子找你。总之,以后想联系你,只有去 H2 住处了。
302: 暂时性转移。http/1.0
模拟场景:你有一套房子,平时住在家中。有一天出去走亲戚了,但过几天总会回来的。你的邻居想联系你,可以去你亲戚家找你,也可以等几天,反之你会回来的。跑的了和尚跑不了庙
303: 临时重定向。http/1.1, 浏览器对 303 处理跟 1.0 时 302 处理方法一样
304: 未改变。客户端有缓存情况下服务器的一种响应。
模拟场景:加载图片,首次访问 200,F5 刷新,304。ctrl + F5 强制刷新,200. 这不是一种错误
305: 使用代理。要求请求者使用代理请求网页
模拟场景:比如你托关系办事,你直接送礼,人家不理你并且将你的礼品给回了,你需要委托代理人
307: 临时重定向。http/1.1。 浏览器对 307 跟 1.0 时 302 描述一样
铲屎官:喵来如此,听喵一席话,胜读十年书。为喵点赞,收藏了。
参考资料:
1 MDN: https://developer.mozilla.org…
2 hat: https://http.cat/