HTTP中的状态码
一直只知道Http中几个常用的状态码,今天来总结一下Http中的常用状态码:
1XX:用于指定客户端应相应的某些动作
- 100 表示初始的请求已经接受,请客户端继续发送
- 101 表示服务器已确定切换协议
2XX:表示请求成功
- 200 表示服务器已成功处理请求
- 201 表示请求成功且服务器创建了新的资源
- 202 服务器已接受请求,但尚未处理完
- 203 服务器已处理请求,但返回的信息可能来自另一个来源
- 204 服务器成功处理了请求,但没有返回内容
- 205 服务器成功处理了请求,强制要求客户端重置文档视图
- 206 服务器成功处理了部分请求
3XX:用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息
- 300 表示被请求的文档可以在多个地方找到,并将在返回的文档中列出来,如果服务器有首选设置,首选项将会在定位响应头信息中
- 301 请求的文档在别的地方,文档新的URL会在定位响应头信息中给出,浏览器自动连接到新的URL(永久移动)
- 302 服务器临时从不同位置的网页响应请求,但请求仍继续使用原有位置来进行以后的请求(临时移动)
- 303 请求者应当对不同的位置使用单独的GET请求来检索时,服务器返回该状态码
- 304 表示自动上次请求后,请求的网页未修改
- 305 表示请求者只能使用代理访问请求的网页
- 307 与302类似,由于许多浏览器在收到302响应时即使原始消息为POST的情况下仍然执行了错误的转向,只有在收到303响应时才假定浏览器会在POST请求时重定向,所以添加307的目的是在307响应时按照GET请求转向而不是POST请求。
4XX:指出客户端错误
- 400 表示客户端请求中有语法错误
- 401 表示访问未授权,要求请求用户的身份验证
- 403 服务器拒绝请求,除非拥有授权
- 404 请求地址无法找到任何资源
- 405 指出请求方法(GET、POST、HEAD、PUT、DELETE等)对某些特定资源不允许使用(禁用请求中指定的方法)
- 406 表示请求资源的MIME类型与客户端中Accept头信息指定的类型不一致
- 407 与401相似,只是这个状态用于代理服务器,表示客户端必须通过代理服务器认证
- 408 表示服务端等待客户端发送请求的时间过长
- 409 表示该状态与PUT请求一同使用,409状态常被用于试图上传版本不正确的文件时(请求冲突)
- 410 客户端请求的资源已经不存在并且没有更新的地址。
- 411 表示服务器不接受头字段不含有效长度的请求
- 412 表示服务端不满足请求头信息中的某些先决条件
- 413 告诉客户端请求实体过大,服务端暂无法处理
- 414 请求的URI过长,服务器无法处理
- 415 服务器无法处理请求中附带的媒体格式
- 416 客户端请求的范围无效
- 417 如果服务器得到一个带有100-continue值的Expect请求头信息,这是客户端正在询问是否可以在后面的请求中发送附件,在这种情况下,服务器会用100(SC_CONTINUE)状态告诉客户端可以继续发送邮件或者用417告诉浏览器不接收该附件
5XX:指出服务端错误
- 500 服务器内部错误,无法完成请求
- 501 服务器不支持请求中要求的功能
- 502 表示接收服务器接收到远端服务器的错误响应,用于充当代理或网关的服务器
- 503 表示服务器由于在维护或已经超载而无法响应(如某些线程数或数据库连接池已经没有空闲则servlet会返回这个头信息)
- 504 表示接收服务器没有及时得到远端服务器的响应,用于充当代理或网关的服务器
- 505 服务器并不支持在请求中所表明的的HTTP版本