301 Moved Permanently :表示永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。可以通过这个响应代码来防止由于URI变更而导致老URI失效。
302 Found :表示临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI。
303 See Other :表示查看其它地址。与301类似。请求已经被处理,但服务器不是直接返回一个响应文档,而是返回一个响应文档的URI。该响应文档可能是一个静态的状态信息,也可能是其他资源。303响应代码是一种规范化资源URI的好办法。一个资源可以有多个URIs,但每个资源的规范URI只有一个,该资源的所有其他URIs都通过303指向该资源的规范URI。
304 Not Modified :表示未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。这个响应代码跟204类似:响应实体主体都必须为空。但204用于没有主体数据的情况,而304用于有主体数据,但客户端已拥有该数据,没必要重复发送的情况。
305 Use Proxy :表示使用代理。所请求的资源必须通过代理访问。用于告诉客户端它需要再发一次请求,但这次要通过一个HTTP代理发送,而不是直接发送给服务器。这个响应代码使用的不多,因为服务器很少在意客户端是否使用某一特定代理。这个代码主要用于基于代理的镜像站点。
404 Not Found :表示服务器无法根据客户端的请求找到资源。这应该是我们最熟悉的状态码了。
405 Method Not Allowd :表示客户端请求中的方法被禁止。比如,客户端试图使用一个本资源不支持的HTTP方法。例如:一个资源只支持GET方法,但是客户端使用PUT方法访问。
注:Allow报头列出本资源支持哪些HTTP方法,例如:Allow:GET,POST
406 Not Acceptable :表示服务器无法根据客户端请求的内容特性完成请求。当客户端对表示有太多要求,以至于服务器无法提供满足要求的表示,服务器可以发送这个响应代码。比如,客户端通过Accept头指定媒体类型为application/json+hic,但是服务器只支持application/json。
413 Request Entity Too Large :表示由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。务器可以用它来中断客户端的请求并关闭连接,而不需要等待请求完成。411用于客户端未指定长度的情况,而413用于客户端发送的表示太大,以至于服务器无法处理。
414 Request-URI Too Long :表示请求的URI过长(URI通常为网址),服务器无法处理。
415 Unsupported Media Type :表示服务器无法处理请求附带的媒体格式。当客户端在发送表示时采用了一种服务器无法理解的媒体类型,服务器发送此响应代码。比如说,服务器期望的是XML格式,而客户端发送的确实JSON格式。
416 Requestd Range Not Satisfiable :表示客户端请求的范围无效。当客户端所请求的字节范围超出表示的实际大小时,服务器发送此响应代码。例如:你请求一个表示的1-100字节,但该表示总共只用99字节大小。注:仅当原始请求里包含Range报头时,才有可能收到此响应代码。若原始请求提供的是If-Range报头,则不会收到此响应代码。服务器应当通过Content-Range报头告诉客户端表示的实际大小。
417 Expectation Failed :表示服务器无法满足Expect的请求头信息。
【类型五:5XX】
5XX系列的状态码,通常表示服务端有错误。比如,服务的有错误无法完成请求。
500 Internal Server Error :表示服务器内部错误,无法完成请求。如果在执行请求处理代码时遇到了异常,它们就发送此响应代码。
501 Not Implemented :表示服务器不支持请求的功能,无法完成请求。客户端试图使用一个服务器不支持的HTTP特性。比如,客户端试图做一个采用了拓展HTTP方法的请求,而普通web服务器不支持此请求。它跟响应代码405比较相似,405表明客户端所用的方法是一个可识别的方法,但该资源不支持,而501表明服务器根本不能识别该方法。
502 Bad Gateway :表示充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。**只有HTTP代理会发送这个响应代码。**它表明代理方面出现问题,或者代理与上行服务器之间出现问题,而不是上行服务器本身有问题。若代理根本无法访问上行服务器,响应代码将是504。
503 Service Unavailable :表示由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中。表明HTTP服务器正常,只是下层web服务服务不能正常工作。最可能的原因是资源不足:服务器突然收到太多请求,以至于无法全部处理。由于此问题多半由客户端反复发送请求造成,因此HTTP服务器可以选择拒绝接受客户端请求而不是接受它,并发送503响应代码。
注:服务器可以通过Retry-After报头告知客户端何时可以重试。