1xx:指示信息,表示请求已接收,继续处理
2xx:成功,表示请求已被成功接受,处理。
200 OK:客户端请求成功
201 Created:POST请求,创建了新的资源
204 No Content:无内容。服务器成功处理,但未返回内容。一般用在只是客户端向服务器发送信息,而服务器不用向客户端返回什么信息的情况。不会刷新页面。
206 Partial Content:服务器已经完成了部分 GET 请求(客户端进行了范围请求)。响应报文中包含 Content-Range 指定范围的实体内容
3xx:重定向
301 Moved Permanently:永久重定向,表示请求的资源已经永久的搬到了其他位置。 响应中会给出新的 url。
302 Found:临时重定向,表示请求的资源临时搬到了其他位置 303 See Other:临时重定向,应使用 GET 定向获取请求资源。
303 功能与 302 一样,区别只是 303 明确客户端应该使用 GET 访问 307 Temporary Redirect:临时重定向,和 302 有着相同含义。POST 不会变成 GET
304 Not Modified:表示客户端发送附带条件的请求(GET 方法请求报文中的 IF…)时,条件不满足。返回 304 时,不包含任何响应主体。虽然 304 被划分在 3XX,但和重定向一毛钱关系都没有
一个 304 的使用场景:服务器告知浏览器缓存有效。
缓存服务器向服务器请求某一个资源的时候,服务器返回的响应报文具有这样的字段:Last-Modified:Wed,7 Sep 201109:23:24,缓存器会保存这个资源的同时,保存它的最后修改时间。
次用户向缓存器请求这个资源的时候,缓存器需要确定这个资源是新的,那么它会向原始服务器发送一个 HTTP 请求(GET 方法),并在请求头部中包含了一个字段:If-Modified-Since:Wed,7 Sep 201109:23:24,这个值就是上次服务器发送的响应报文中的最后修改时间。
假设这个资源没有被修改,那么服务器返回一个响应
HTTP/1.1 304 Not Modified
Date:Sat, 15 Oct 2011 15:39:29
(空行)
(空响应体)
用 304 告诉缓存器资源没有被修改,并且响应体是空的,不会浪费带宽。
4xx:客户端错误
400 Bad Request:客户端请求有语法错误,服务器无法理解。
401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用。
403 Forbidden:服务器收到请求,但是拒绝提供服务
404 Not Found:请求资源不存在。比如,输入了错误的 url
415 Unsupported media type:不支持的媒体类型
5xx:服务器端错误,服务器未能实现合法的请求。
500 Internal Server Error:服务器发生不可预期的错误。
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常