http://lingyu.wang/2014/04/16/http-code/
100~199——信息性状态码
100——continue(继续)
说明收到了请求的初始部分,请客户端继续。
101——switching protocols(协议更换)
说明服务器正在根据客户端的指定,将协议切换成update首部所列的协议
200~299——成功状态码
200——OK(请求成功)
请求没问题,实体的主体部分包括了所请求的资源
201——Created(对象已创建)
用于创建服务器对象的请求(如PUT)。相应实体主体部分中应该包含额各种已创建的资源的URL。Location首部包含的则是最具体的引用
202——Accepted(请求被接受)
请求已被接受,但服务器还未对其执行任何动作。且不保证服务器能够完成这个请求。
203——Non-Authoritative Infomation
实体首部包含的信息不是来自于源端服务器,而是来自资源的一份副本。如果中间节点上有一份资源副本,但无法或者没有对它所发送的资源有关的元信息进行验证,就会出现这种情况
204——No Content
响应报文中包含若干首部和一个状态行,但没有实体的主体部分
205——Reset Content
负责告知浏览器清除当前页面中的所有HTML表单元素
206——Partial Content
成功执行了一个部分或Range(范围)请求。必须包含Content-Range、Date以及ETag或Content-Location首部
300~399——重定向状态码
300——Multiple Choices
客户端请求一个实际指向多个资源的URL时会返回这个状态码,返回这个状态码时会带有一个选项列表,这样用户就可以选择他所希望的一项了
301——Moved Permanently
在请求的URL已被移除时使用。响应的Location首部应当包含资源现在所处的URL
302——Found
与301类似,但客户端使用Location首部给出URL来临时定位资源。将来的请求仍应当使用老的URL
303——See Other
告知客户端应当使用另一个URL来获取资源。新的URL位于响应报文的Location首部,主要目的是允许POST请求的相应将客户端定向到某个资源上去
304——Not Modified
客户端可以通过所包含的的请求首部,使其请求变成有条件的。带有这个状态码的相应不应该包含实体的主体部分
305——Use Proxy
用来说明必须通过一个代理来访问资源,代理的位置由Location首部给出
307——Temporary Redirect
与301类似,但客户端使用Location首部给出URL来临时定位资源。将来的请求仍应当使用老的URL
302、303、307之前的区别
当HTTP/1.0客户端发起一个POST请求,并在响应中收到302重定向状态码时,它会接受Location首部的重定向URL,并向那个URL发起一个GET请求(不是POST请求)
而HTTP/1.1则使用303状态码完成同样的行为
对于HTTP/1.1客户端,用307状态码取代302状态码来进行临时重定向,这样302状态码就能被保留个给HTTP/1.0客户端使用了
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(代理服务器未认证)
要求对资源进行认证代理服务器
408——Request Timeout(请求超时)
如果客户端完成请求所花的时间太长,服务器可以回送此状态码
409——Conflict(指令冲突)
用于说明请求可能在资源上引发一些冲突。服务器担心请求引发冲突时,返回此代码
410——Gone(已移除)
服务器曾经拥有过此资源,但已经移除了
411——Length Required(必须携带长度)
服务器要求在请求报文中包含Content-Length首部
412——Precondition Failed(不符合请求条件)
客户端发起了条件请求,而其中一个条件失败了
413——Request Entity Too Large(请求实体过大)
客户端所发送的请求主体部分比服务器所能够或希望处理的要长
414——Request URI Too Long(请求URL过长)
客户端所发请求中的请求URL比服务器能够或希望处理的要长
415——Unsupported Media Type(媒体不被支持)
服务器无法理解或无法支持客户端所发实体的内容类型
416——Requested Range Not Satisfiable(请求的范围无法被满足)
请求报文请求的是某个资源的某个范围,而此范围无效或无法满足
417——Expection Failed(无法满足期望)
请求的Expect请求首部包含了一个期望,但服务器无法满足此期望
500~599——服务器错误状态码
500——Internal Server Error(服务器内部错误)
服务器遇到一个妨碍它为请求提供服务的错误
501——Not Implemented(请求超出能力范围)
客户端发起的请求超出服务器的能力范围
502——Bad Gateway(错误的网关)
作为代理或网关使用的服务器从请求响应链的下一条链路上收到一条伪响应
503——Service Unavailable(服务不可用)
服务器现在无法为请求提供服务,但将来可以
504——Gateway Timeout(网关超时)
响应来自一个网关或代理,他们在等待另一服务器对齐请求进行响应时超时了
505——HTTP Version Not Supported(HTTP协议版本不正确)
服务器收到的请求使用了它无法或不愿支持的版本