趣味解惑 http错误码(上)

263 阅读3分钟

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描述一样