Http状态码用以表示网页服务器http响应状态的3位数字代码。
1XX | 1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 |
2XX | 2XX系列:代表请求已成功被服务器接收、理解、并接受。 |
3XX | 3XX系列:代表需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。 |
4XX | 4XX系列:表示请求错误。代表了客户端看起来可能发生了错误,妨碍了服务器的处理。 |
5XX | 5xx系列:代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。 |
状态吗:
100 | 客户端应该继续发送请求,这个临时响应用来通知客户端它的部分请求已经被服务器接收,应该发送剩余部分,或者如果请求已经完成,则忽略该响应。服务器必须在请求完成之后给客户端一个最终的响应。 |
101 |
该状态码为切换协议。该码表示服务器已经理解了客户端的请求,并将通过upgrade消息头通知客户端采用不用的协议来完成这个请求。在发送完这个响应最后的空行之后,服务器将会切换到在upgrade消息头中定义的那些协议,只有在切换新的协议更有好处时才采取该措施。 |
102 | 一个扩展的状态码,代表请求继续被执行 |
200 | 地球人都知道的成功,请求的数据随此响应码返回 |
201 | (已创建) 请求已被实现,而且有一个新的资源已经根据请求的需要而建立,且它的URI已经在Location中返回。假若需要的资源未被建立,会返回“202Accepted”。 |
202 | (已接受)服务器已经接受请求,但未处理。正如请求被拒绝一样,最终可能也不会被执行。在异步操作的场合下,发送这个码最方便。返回202目的是允许服务器接收其他过程的请求(例如每天只执行一次的基于批处理的操作),而不必让客户端一直保持与服务器的连接直到操作完成。返回202 的响应中应该包含一些指示处理当前状态的信息,使得用户能够估计操作是否已经完成。 |
203 | (非授权信息)服务器处理了请求,但返回的实体头部元信息不是在原始服务器上的有效的确定集合,而是来自本地或者第三方的拷贝,当前信息时原本的子版本或者超集,该码只有在一个响应不返回此便返回200时才合适。 |
204 | (无内容)服务器成功处理请求,不需要返回任何实体。若客户端是浏览器,则响应的网页不应发生任何变化,另外该响应始终以消息头的第一个空行结尾。 |
205 | (重置内容)服务器成功处理了请求,且没有返回任何内容。但是与204响应不同,返回此状态码的响应要求请求者重置文档视图。该响应主要是被用于接受用户输入后,立即重置表单,以便用户能够轻松地开始另一次输入。 与204响应一样,该响应也被禁止包含任何消息体,且以消息头后的第一个空行结束。 |
206 | (部分内容) 服务器成功处理了部分 GET 请求。类似于 FlashGet 或者迅雷这类的 HTTP 下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。 该请求必须包含 Range 头信息来指示客户端希望得到的内容范围,并且可能包含 If-Range 来作为请求条件。 响应必须包含如下的头部域: Content-Range 用以指示本次响应中返回的内容的范围 |
300 | (多种选择) 被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。用户或浏览器能够自行选择一个首选的地址进行重定向。 除非这是一个 HEAD 请求,否则该响应应当包括一个资源特性及地址的列表的实体,以便用户或浏览器从中选择最合适的重定向地址。这个实体的格式由 Content-Type 定义的格式所决定。浏览器可能根据响应的格式以及浏览器自身能力,自动作出最合适的选择。除非额外指定,否则这个响应也是可缓存的。 |
301 | (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。新的永久性的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。如果这不是一个 GET 或者 HEAD 请求,因此浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。 注意:对于某些使用 HTTP/1.0 协议的浏览器,当它们发送的 POST 请求得到了一个301响应的话,接下来的重定向请求将会变成 GET 方式。 |
302 | (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。 |
303 | (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。对应当前请求的响应可以在另一个 URI 上被找到,而且客户端应当采用 GET 的方式访问那个资源。新的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。 |
304 | (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
客户端有缓冲的文件并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。 如果客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200 。对于静态文件,例如:CSS、图片,服务器会自动完成 Last Modified 和 If Modified Since 的比较,完成缓存或者更新。但是对于动态页面,就是动态产生的页面,往往没有包含 Last Modified 信息,这样浏览器、网关等都不会做缓存,也就是在每次请求的时候都完成一个 200 的请求。 |
305 | (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。Location 域中将给出指定的代理所在的 URI 信息,接收者需要重复发送一个单独的请求,通过这个代理才能访问相应资源。只有原始服务器才能建立305响应。 |
307 | (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。 |
400 | (错误请求) 服务器不理解请求的语法。 |
401 | (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。 |
403 | (禁止) 服务器拒绝请求。 |
404 | (未找到) 服务器找不到请求的网页。 |
405 | (方法禁用) 禁用请求中指定的方法。 |
406 | (不接受) 无法使用请求的内容特性响应请求的网页。 |
407 | 与401响应类似,只不过客户端必须在代理服务器上进行身份验证。代理服务器必须返回一个 Proxy-Authenticate 用以进行身份询问。客户端可以返回一个 Proxy-Authorization 信息头用以验证。 |
408 | (请求超时) 服务器等候请求时发生超时。 |
409 | (冲突) 服务器在完成请求时发生冲突。 服务器必须在响应 |
410 | (已删除) 如果请求的资源已永久删除,服务器就会返回此响应。 |
411 | 411 (需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。 在添加了表明请求消息体长度的有效 Content-Length 头之后,客户端可以再次提交该请求。 |
412 | (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。 服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。这个状态码允许客户端在获取资源时在请求的元信息(请求头字段数据)中设置先决条件,以此避免该请求方法被应用到其希望的内容以外的资源上。 |
413 | (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力 |
414 | (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。 |
415 | (不支持的媒体类型) 请求的格式不受请求页面的支持。 |
416 | 如果请求中包含了 Range 请求头,并且 Range 中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义 If-Range 请求头,那么服务器就应当返回416状态码。 |
500 | (服务器内部错误) 服务器遇到错误,无法完成请求。 |
501 | (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。 |
502 | (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。 |
503 | (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。 |
504 | (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。 |
505 | (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。 |
509 | 服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。 |