信息性状态码
成功状态码
重定向状态码
客户端错误状态码
服务器错误状态码
-
100~199: 代表请求已被接受并需要继续处理
100 Continue
说明收到了请求的初始部分,请客户端继续。发送了这个状态码之后,服务器在收到请求之后必须进行响应。
101 Switching Protocols
说明服务器正在根据客户端的指定,将协议切换成Update首部所列的协议
200~299: 代表请求已成功被服务器接收,理解并接受
200 OK
请求没问题,实体的主体部分包含了所请求的资源
201 Create
用于创建服务器对象的请求(比如, PUT). 响应的实体主体部分中应该包含各种引用了已创建的资源的URL, Location 首部包含的则是最具体的引用。
202 Accepted
请求已被接受,但服务器还未对其执行任何动作。不能保证服务器会完成这个请求;这只是意味着接受请求时,它看起来是有效的。服务器应该在实体的主体部分包含对请求状态的的描述,或许还应该有对请求完成时间的估计。
203 Non-Authoritative Information
实体首部包含的信息不是来自于源服务器,而是来自资源的一份副本。如果中间结点上有一份资源副本,但无法或者没有对它所发送的与资源有关的元信息进行验证,就会出现这种情况。 这种响应码并不是非用不可的;如果实体首部来自源端服务器,响应为200状态的应用程序就可以将其作为一种可选项。
204 No Content
响应报文中包含若干首部和一个状态行,但没有实体的主体部分。主要用于在浏览器不转为显示新文档的情况下,对其进行更新(比如刷新一个表单页面)
205 Reset Content
另一个主要用于浏览器的代码。负责告知浏览器清除当前页面中的所有HTML 表单元素。
206 Partial Content
成功执行了一个部分或Range(范围)请求。客户端可以通过一些特殊的首部来获取部分或者某个范围内的文档, 这个状态码就说明范围请求成功了。
300~399: 代表需要客户采取进一步的操作才能完成请求
300 Multiple Choices
客户端请求一个实际指向多个资源的URL时会返回这个状态码,比如某个HTML 文档的中文版和英文版。返回这个代码时会带有一个选项列表,供客户选择所需。
301 Move Permanently
在请求的URL已被移除时使用。响应的Location首部中应该包含资源现在所处的URL.
302 Found
与301状态码类似,但是,客户端应该使用Location首部给出的URL来临时定位资源。将来的请求仍然使用老的URL.
303 See Other
告知客户端应该用另一个URL 来获取资源。新的URL位于响应报文的Location首部。其主要目的是允许POST请求的响应将客户端定向到某个资源上去。
304 Not Modified
客户端可以通过所包含的请求首部,使其请求变成有条件的。如果客户端发起一个条件GET请求,而最近资源未被修改的话,就可以用这个状态码来说明资源未被修改。带有这个状态码的响应不应该包含实体的主体部分。
305 Use Proxy
用来说明必须通过一个代理来访问资源,代理的位置由Location首部给出。
307 Temporay Redirect
与302状态码类似,差别在与HTTP/1.0 和HTTP/1.1应用程序对这些状态码处理方式不同。
400~499: 代表因客户端发生错误而妨碍了服务器的请求
400 Bad Request
用于告知客户端它发送了一个错误的请求
401 Unauthorized
与适当的首部一同返回,在这些首部中请求客户端在获取对资源的访问权之前,对自己进行认证。
402 Payment Required
保留,未使用
403 Forbidden
用于说明请求被服务器拒绝了。如果服务器想说明为什么拒绝请求,可以包含实体的主体部分来对原因进行描述。但这个状态码通常是在服务器不想说明拒绝原因的时候使用的。
404 Not Found
用于说明服务器无法找到所请求的URL.通常会包含一个实体,以便客户端应用程序显示给用户看。
405 Method Not Allowed
发起的请求中带有所请求的URL不支持的方法时,使用此状态码。应该在响应中包含Allow首部,以告知客户端对所请求的资源可以使用哪些方法。
406 Not Acceptable
客户端可以指定参数来说明它们愿意接收什么类型的实体。服务器没有与客户端可接受的URL相匹配的资源时,使用此代码。通常,服务器会包含一些首部,以便客户端弄清楚为什么请求无法满足。
407 Proxy Authentication Required
与401类似,但用于要求对资源进行认证的代理服务器。
408 Request Timeout
如果客户端完成请求所花的时间太长,服务器可以回送此状态码,并关闭连接。
409 Conflict
用于说明请求可以在资源上引发的一些冲突。服务器担心请求会引发冲突时,可以发送此状态码。
410 Gone
与404类似。主要用于站点的维护。
411 Length Required
服务器要求在请求报文中包含Content-Length 首部时使用。
412 Precondition Failed
客户端发起了条件请求,且其中一个条件失败了的时候使用。客户端包含了Expect首部时发起的就是条件请求。
413 Request Entity too Large
客户端发送的实体主体部分比服务器能够或者希望处理的要大时使用。
414 Requst URI too Long
客户端所发请求中的请求URL比服务器能够或者希望处理的要长时使用。
415 Unsupported Media Type
服务器无法理解或无法支持客户端所发实体的内容类型时使用。
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
与状态码408相似, 只是这里的响应来自一个网关或代理,他们在等待另一个服务器对其请求进行响应时超时了。
505 HTTP Version Not Supported
服务器收到的请求使用了它无法或不愿支持的协议版本时,使用此状态码。有些服务器应用程序会选择不支持协议的早期版本。