http协议常见响应码总结:
1xx(临时响应)
100:客户端应当继续提出请求。
101:(切换协议) 客户端要求服务器切换协议,服务器已确认并准备进行切换。
102:由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。
2xx(成功)
200:正确的请求返回正确的结果,如果不想细分正确的请求结果都可以直接返回200。
201:表示资源被正确的创建。比如说,我们 POST 用户名、密码正确创建了一个用户就可以返回 201。
202:请求是正确的,但是结果正在处理中,这时候客户端可以通过轮询等机制继续请求。
203:请求的代理服务器修改了源服务器返回的 200 中的内容,我们通过代理服务器向服务器 A 请求用户信息,服务器 A 正常响应,但代理服务器命中了缓存并返回了自己的缓存内容,这时候它返回 203 告诉我们这部分信息不一定是最新的,我们可以自行判断并处理。
204:服务器成功处理了请求,但是不需要返回任何实体内容。如果客户端为浏览器,则浏览器不发生跳转,停留当前页面,但是页面中的文档信息更新。
205:服务器成功处理了请求,且没有返回任何内容,与204不同点为,文档信息清空。
206:服务器已成功处理了部分get请求。请求里必须包含Range头信息来只是客户端希望得到的内容范围,并且可能包含if-Range来作为请求条件。
207:由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。
3xx(已重定向)
300:请求成功,但结果有多种选择。
301:请求成功,但是资源被永久转移。比如说,我们下载的东西不在这个地址需要去到新的地址。
302:在其他地址发现了请求数据。
303:使用 GET 来访问新的地址来获取资源。
304:请求的资源并没有被修改过。
305:请求的资源必须从服务器指定的地址得到。
306:在最新的规范中,306状态码已不被使用。
307:请求的资源现在临时从不同的URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。
308:使用原有的地址请求方式来通过新地址获取资源。
4xx(请求错误)
400:请求出现错误,比如请求头不对等。
401:没有提供认证信息。请求的时候没有带上 Token 等。
402:为以后需要所保留的状态码。
403:请求的资源不允许访问。就是说没有权限。
404:请求的内容不存在。
405:用户在Request-Line字段定义的方法不允许。
406:请求的资源并不符合要求。
407:类似于401,只不过客户端必须在代理服务器上进行身份验证。
408:客户端请求超时。
409:由于和被请求的资源的当前状态之间存在冲突,请求无法完成。这个代码只允许用在这样的情况下才能被使用:用户被认为能够解决冲突,并且会重新提交新的请求。该响应应当包含足够的信息以便用户发现冲突的源头。
410:被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址。
411:服务器拒绝在没有定义 Content-Length 头的情况下接受请求。
412:一个或多个请求头字段在当前请求中错误
413:请求体过大。
414:请求的资源URL长于服务器允许的长度
415:类型不正确。
416:请求的区间无效。
417:在请求头 Expect 中指定的预期内容无法被服务器满足。
5xx(服务器错误)
500:服务器错误。
501:请求还没有被实现。
502:网关错误。
503:服务暂时不可用。服务器正好在更新代码重启。
505:请求的 HTTP 版本不支持。