有关文档:w3c
304状态码或许不应该认为是一种错误,而是对客户端有缓存情况下服务端的一种响应。客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。
301和302区别:
都是重定向,浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)
301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了)
302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B
1XX,即1开头的,表示临时响应并需要请求者继续执行操作的状态代码
100 Continue (继续)
服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。
101 Switching Protocols (切换协议)
服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。
2xx,即2开头的表示成功。
200 OK (成功)
服务器已成功处理了请求。(其后是对GET和POST请求的应答文档。)
201 Created (已创建)
请求被创建完成,同时新的资源被创建。
202 Accepted (已接受)
服务器已接受请求,但尚未处理。
203 Non-authoritative Information (非授权信息)
服务器已成功处理了请求,但返回的信息可能来自另一来源。
204 No Content(无内容)
服务器成功处理了请求,但没有返回任何内容。(没有新文档。浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。)
205 Reset Content(重置内容)
服务器成功处理了请求,但没有返回任何内容。(没有新文档。但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容。)
206 Partial Content(部分内容)
服务器成功处理了部分 GET 请求。(客户发送了一个带有Range头的GET请求,服务器完成了它。)
3xx 即3开头的表示重定向。
300 Multiple Choices(多种选择)
针对请求,服务器可执行多种操作。用户可以选择某链接到达目的地。最多允许五个地址。
301 Moved Permanently(永久移动)
所请求的页面已经转移至新的url。
302 Found(临时移动)
所请求的页面已经临时转移至新的url。
303 See Other(查看其他位置)
所请求的页面可在别的url下被找到。
304 Not Modified (未修改)
自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。(未按预期修改文档。服务器告诉客户,原来缓冲的文档还可以继续使用。)
305 Use Proxy(使用代理)
请求者只能使用代理访问请求的网页。(客户请求的文档应该通过Location头所指明的代理服务器提取。)
307 Temporary Redirect(临时重定向)
被请求的页面已经临时移至新的url。
4xx: 客户端错误
400 (错误请求)Bad Request
服务器未能理解请求。
401 (未授权)Unauthorized
请求要求身份验证。被请求的页面需要用户名和密码。 对于需要登录的网页,服务器可能返回此响应。
403 (禁止) Forbidden
请求页面的访问被禁止。 服务器拒绝请求。
404 (未找到)Not Found
服务器无法找到请求的页面
405 (方法禁用) Method Not Allowed
请求中指定的方法不被允许。 禁用请求中指定的方法。
406 (不接受) Not Acceptable
服务器生成的响应无法被客户端所接受。
407 (需要代理授权)Proxy Authentication Required
用户必须首先使用代理服务器进行验证,这样请求才会被处理。 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
408 (请求超时)Request Timeout
服务器等候请求时发生超时。
409 (冲突)Conflict
由于冲突,请求无法被完成。
410 (已删除)Gone
被请求的页面不可用。 如果请求的资源已永久删除,服务器就会返回此响应。
411 (需要有效长度)Length Required
"Content-Length" 未被定义。如果无此内容,服务器不会接受请求。 服务器不接受不含有效内容长度标头字段的请求。
412 (未满足前提条件)Precondition Failed
请求中的前提条件被服务器评估为失败。
413 (请求实体过大) Request Entity Too Large
由于所请求的实体的太大,服务器不会接受请求。
414 (请求的 URI 过长)Request-url Too Long
由于url太长,服务器不会接受请求。当post请求被转换为带有很长的查询信息的get请求时,就会发生这种情况。
415 (不支持的媒体类型)Unsupported Media Type
由于媒介类型不被支持,服务器不会接受请求。
416 (请求范围不符合要求)
如果页面无法提供请求的范围,则服务器会返回此状态代码。
417 (未满足期望值)Expectation Failed
服务器未满足"期望"请求标头字段的要求。
5xx: 服务器错误
500 (服务器内部错误) Internal Server Error
请求未完成。服务器遇到不可预知的情况。 服务器遇到错误,无法完成请求。
501 (尚未实施) Not Implemented
请求未完成。服务器不支持所请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
502 (错误网关)Bad Gateway
请求未完成。 服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用)Service Unavailable
请求未完成。 服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
504 (网关超时)Gateway Timeout
网关超时。 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP 版本不受支持)HTTP Version Not Supported
服务器不支持请求中指明的HTTP协议版本。