http状态码

100 ~ 199——信息状态码

状态码 原因短语 含义
100 Continue 说明服务器收到了请求的初始部分,请客户端继续发送
101 Switching Protocol 说明服务器正在根据客户端的指定,将协议转换成为Update首部所列的协议

200 ~ 299——成功状态码

状态码 原因短语 含义
200 OK 请求没问题
201 Ctreated 用于创建服务器对象的请求(如PUT)
202 Accepted 请求已被接受,但服务器还未对其执行任何动作,不保证服务器会完成这个请求
203 Non-Authoritative 实体首部包含的信息不是来自于源端服务器,而是来自资源的一份副本
204 No content 报文中没有包含实体内容
205 Reset Content 用于浏览器的代码,负责告知浏览器清除当前页面中所有的HTML表单元素
206 Partial Content 说明成功执行了一部分(或某个范围内)的请求,但尚未完全完成请求

300 ~ 399——重定向状态码

状态码 原因短语 含义
300 Multiple Choices(多种选择) 当客户端请求的URL实际上指向多个资源的时候返回此码,通常会附带可供选择的选项,让客户端选择,如某个URL请求的资源含有中文和英文的两个版本,服务器不知道客户端需要哪一个,所以返回此码
301 Moved Permanently(永久移动) 当请求的URL已被永久地移除时候使用,返回的Location首部中应该会包含资源的新地方URL
302 Found (临时移动) 与301类似,但是由于不是永久移动,将来可能还会移回去原处,因此现在客户端应该使用location首部给出的URL来临时定位资源,以后再次使用还是用原来的老URL . 注:在http1.0版本中,虽然对于RFC规范规定302不允许重定向是改变请求的方法,但很多浏览器都会无视原来的方法,使用GET请求新的地址。所以在http1.1版本中,302拆分了303和307两个状态码来做不同的重定向。
303 See other( 参看其他位置) 告知客户端应该用另一个URL来获取资源。新的URL位于响应报文的Location首部。其主要目的是允许Post的请求重定向时使用GET请求来获取新的资源,请求主体部分会被丢弃。跟302作用是一样的。
304 Not Modified(未被修改) 客户端通过所包含的请求首部,使得请求变成有条件的,自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。如果网页自请求者上次请求后再也没有更改过,您应将服务器配置为返回此响应(称为 If-Modified-Since HTTP 标头)。
305 Use Proxy 出于安全考虑,客户端不能直接访问该资源,要通过代理来访问,代理的位置由Location的首部给出。
306 未使用
307 Temporary Redirect(临时重定向) 与301状态码类似,但客户端应该使用Location首部给出的URL来临时定位资源。将来的请求应该使用老的URL。功能其实就是302规范上定义的功能,如果是POST请求,则重定向时,也会带着请求的主体部分POST到新的地址。

400 ~ 499——客户端错误状态码

状态码 原因短语 含义
400 Bad Request 用于告知客户端它发送了一个错误的请求
401 Unauthorized 请求要求身份验证
402 Payment Required 未使用
403 Forbidden 服务器拒绝请求
404 Not Found 资源未找到
405 Method Not Allowed 不支持客户端请求所使用的http方法,返回这个状态码的同时,可以在响应中添加Allow首部,来告知客户端对请求的资源可以使用那些http方法。
406 Not Acceptable 客户端可以指定参数来说明他们愿意接收什么类型的实体,如果服务端没有这种类型的资源,则返回此状态码。即客户端想要的响应实体类型,服务端给不了。
407 Proxy Authentication Required 此状态码与401类似,但指定请求者应当授权使用代理。如果服务器返回此响应,还表示请求者应当使用代理。
408 Request Timeout 服务器等候请求时发生超时。
409 Conflict 服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。
410 Gone 如果请求的资源已永久删除,服务器就会返回此响应。该代码与 404(未找到)代码类似,但在资源以前存在而现在不存在的情况下,有时会用来替代 404 代码。如果资源已永久移动,您应使用 301 指定资源的新位置。
411 Length Required 服务器不接受不含有效内容长度标头字段的请求。
412 Precondition Failed 服务器未满足请求者在请求中设置的其中一个前提条件。
413 Request Entity Too Large 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
414 Request URI Too Long 请求的 URL过长,服务器无法处理。
415 Unsupported Media Type 服务端无法理解或无法支撑客户端所发实体的内容类型。即客户端给的请求实体类型,服务端支持不了。(注意与406的区分)
416 Requested Range Not Satisfiable 请求报文所请求的是指定资源的某个范围,而此范围无效或无法满足。
417 Expectation Failed 服务器无法满足Expect首部字段的期望。

500 ~ 599——服务器错误状态码

状态码 原因短语 含义
500 Internal Server Error 服务器遇到错误,无法完成请求。
501 Not Implemented 客户端发起的请求超出服务的能力范围。
502 Bad Gateway 服务器作为网关或代理,从上游服务器收到无效响应。
503 Service Unavailable 服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。可以添加Retry-After首部来告知什么时候可用。
504 Gateway Timeout 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 HTTP Version Not Supported 服务器不支持请求中所用的 HTTP 协议版本。
  • 本文作者:二当家的
  • 本文链接: 2019/03/10/http状态码/
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!
  • 彩蛋: 左边Overview微信公众号二维码,扫描它获取更多技术信息