200:正确的请求返回正确的结果,如果不想细分正确的请求结果都可以直接返回200。
201:表示资源被正确的创建。比如说,我们 POST 用户名、密码正确创建了一个用户就可以返回 201。
202:请求是正确的,但是结果正在处理中,这时候客户端可以通过轮询等机制继续请求。
203:请求的代理服务器修改了源服务器返回的 200 中的内容,我们通过代理服务器向服务器 A 请求用户信息,服务器 A 正常响应,但代理服务器命中了缓存并返回了自己的缓存内容,这时候它返回 203 告诉我们这部分信息不一定是最新的,我们可以自行判断并处理。
204:使用场景:对于一些提交到服务器处理的数据,只需要返回是否成功的情况下,可以考虑用状态码204来作为返回信息,从而省略多余的数据传输。
205: 则是告知浏览器清除当前页面中的所有html表单元素,也就是表单重置。
206: 服务器已经成功处理了部分GET请求。类似于FlashGet或者迅雷这类的HTTP 下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。
300:请求成功,但结果有多种选择。
301: 请求成功,但是资源被永久转移。比如说,我们下载的东西不在这个地址需要去到新的地址。
302: 如果客户端发出非GET、HEAD请求后,收到服务端的302状态码,那么就不能自动的向新URI发送重复请求,除非得到用户的确认。
303:对于POST请求,它表示请求已经被处理,客户端可以接着使用GET方法去请求Location里的URI。
304:请求的资源并没有被修改过。
305: 必须通过代理访问资源, 代理的地址在Response 的Location中。
307: 把重定向的页面展示给用户,让用户去点重定向URI链接(URI现在基本就是URL)。
308:永久转移 这个请求和以后的请求都应该被另一个URI地址重新发送。
400:请求出现错误,比如请求头不对等。
401: 没有提供认证信息。请求的时候没有带上 Token 等。
402: 为以后需要所保留的状态码。
403: 请求的资源不允许访问。就是说没有权限。
404: 请求的内容不存在。
405: 不支持该Request的方法。
406: 请求的资源并不符合要求。
407: 与状态码401类似, 用于需要进行认证的代理服务器。
408: 客户端请求超时。
409: 发出的请求在资源上造成了一些冲突。
410: 服务器曾经有这个资源,现在没有了, 与状态码404类似。
411: 服务器要求在Request中包含Content-Length(要求长度指示)。
412: Precondition Failed(先决条件失败)。
413: 客户端发送的实体主体部分比服务器能够或者希望处理的要大。
414: 客户端发送的请求所携带的URL超过了服务器能够或者希望处理的长度。
415: 服务器无法理解或不支持客户端所发送的实体的内容类型。
416: 请求的区间无效。
500: 服务器错误。
501: 客户端发起的请求超出服务器的能力范围(比如,使用了服务器不支持的请求方法)时,使用此状态码。
502: 网关错误。
503: 服务暂时不可用。服务器正好在更新代码重启。
504: 与状态吗408类似, 但是响应来自网关或代理,此网关或代理在等待另一台服务器的响应时出现了超时。
505: 请求的 HTTP 版本不支持。