200
这个最容易理解,就是正确的请求返回正确的结果,如果不想细分正确的请求结果都可以直接返回200。
201
表示资源被正确的创建。比如说,我们POST用户名,密码正确创建了一个用户就可以返回201。
202
请求是正确的,但是结果正在处理中,没法返回对应的结果。比如说,我们请求一个需要大量计算的结果,但是并没有计算结束时,可以返回这个,这时候客户端可以通过轮询等机制继续请求。
203
请求的代理服务器修改了源服务器返回的200中的内容,一般用不到。比如说,我们通过代理服务器向服务器A请求用户信息,服务器A正常响应,但代理服务器命中缓存并返回自己的缓存内容,这时候它返回203告诉我们这部分信息不一定是最新的,我们可以自行判断并处理。
204
请求正确,但是没有需要返回的内容。比如说,我们请求删除某个用户,删除成功可以返回204。
205
类似204,但是要求请求者重置视图,一般也用不到。比如说,我们请求删除某个用户,服务器返回205的话,我们就刷新现在的用户列表。
206
请求成功,但根据请求头只返回了部分内容。比如说,我们下载一部片,共有10部分,我们把请求也分成了10次(防止一次请求过大),这时候服务器就可以返回206并在其头部告诉我们这是哪一部分,然后再根据这个信息进行拼装。
// 分割线
300
请求成功,但结果有多种选择。比如说,我们下载一部片,服务器有avi,mp4等格式,这时候可以返回300,并在身里告知有哪些格式,然后用户可以根据这些格式再次请求。
301
请求成功,但是资源被永久转移。比如说,我们要下载葫芦娃,但是由于旧的存储服务商涨价了,现在要使用新的存储服务了,要去新地址下载,这时候可以返回301,并在header的位置中告知新的地址,以后也应当到这个地址下载。
302
请求成功,但是资源被临时转移了。和301不同的是,除非是HEAD请求,否则新地址的信息应当在body中返回,并且资源只是临时转移,以后不应当通过新地址来下载。
303
类似302,但要求使用GET来访问新的地址来获取资源。
304
请求的资源并没有被修改过。比如说,我们发送请求想看看5.20后的情侣信息,服务器查询没有新的情侣信息产生,这时候可以返回304,然后客户端可以继续用旧的数据。
305
请求的资源必须通过代理访问。比如说,我们想请求服务器A上新的iPhone的信息,但是需要通过代理服务器才能访问,如果直接请求了服务器A,没有经过代理服务器,这时候服务器A就可以返回305从而告诉我们应该访问代理服务器。
306
不用了。
307
类似302,但要求使用原有的请求方式来通过新地址获取资源。
308
类似301,但要求使用原有的请求方式来通过新地址获取资源。
// 分割线
400
请求出现错误,比如请求头不对等,所有不想明确区分的客户端请求出错都可以返回400。
401
没有提供认证信息。比如说,请求的时候没有带上Token等。
402
为将来的需要所保留的状态码。
403
请求的资源不允许访问。比如说,你使用普通用户的Token去请求管理员才能访问的资源。
404
请求的内容不存在。
405
请求的方法不允许使用。比如说,服务器只能实现了PATCH了局部更新的资源,并没有实现PUT来替换资源,而我们使用了PUT,这时候服务器可以返回405来告知并没有实现对PUT的相关处理。
406
请求的资源并不符合要求。比如说,我们header里请求JSON格式的数据,但是服务器只有XML格式的数据,这时候可以返回406告知。
407
类似401,但是要求必须去同代理服务器进行认证。
408
客户端请求超时。我们想POST创建一个用户,虽然建立了连接,但是网络不好,服务器在规定时间内没有得到我们的请求信息,这时候服务器可以返回408告诉我们超时了。然后我们可以重新发送请求。
409
请求冲突。比如说,服务器要求不同用户不能重名,服务器已经有了一个名叫小伟的用户,这时候我们还想创建一个名叫小伟的用户,服务器可以返回409,告诉我们冲突了,也可以在身体中明确告知是什么冲突了。
410
请求资源曾经存在,但现在不存在了。比如说,我们下载葫芦娃,但是因为版权被删了,下载不了了,这时候服务器返回410,告诉我们洗洗早点睡。
411
没有提供请求资源的长度。比如说,我们下载葫芦娃,服务器只允许我们分部下载,我们如果不告诉服务器我们要下载哪部分,服务器就返回411警告我们。
412
请求的资源不符合请求头中的IF- *的某些条件。比如说,我们下载葫芦娃,然后在请求头告知服务器要5.20后更新过的,服务器没有,于是返回了412。
413
请求体过大。比如说,服务器要求上传文件不能超过5M,但是我们POST了10M,这时候就回413。
414
请求的URI太长了。比如说,我们提供了太多的查询参数,以至于超过了服务器的限制,这时候可以返回414。
415
不支持的媒体类型。比如说,我们上传了一张七娃的GIF动图,而服务器只允许你上传PNG图片,这时候就结回415。
416
请求的区间无效。比如说,我们分部下载时请求葫芦娃的10分钟到12分钟的内容,但是这部分葫芦娃只有1分钟的内容,这时候就结回416。
417
预期错误。指服务器没法满足我们在请求头里的期待相关的信息。
418
我是个茶壶。这是一个愚人节的玩笑,这个状态码就是用来搞笑的。
422
请求参数时候,缺少某个参数
500
服务器错误。没法明确定义的服务器错误都可以返回这个。
501
请求还没有被实现。比如说,我们请求一个接口来自动拒绝项目经理的要求,但是这个接口只是美好的想象,并没有被实现,这时候可以返回501。
502
网关错误。比如说,我们向服务器A请求下载葫芦娃,但是A其实只是一个代理服务器,他得B请求葫芦娃,但是不知道为啥B不理他或给他他错误,这时候哦可以A返回502用户表示B这家伙傲娇了。
503
服务暂时不可用。比如说,服务器正好在更新代码重启。
504
类似502,但是这时候是B不理A,超时了。
505
请求的HTTP版本不支持。比如说,现在强行根据HTTP 1000来请求。