1. 说明
- 1.HTTP协议状态码是指在HTTP通信过程中,服务器向客户端返回的三位数值的数字代码,用于表示服务器对请求的处理结果和状态。
- 2.这些状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。
2. 信息性状态码
- 1.100 Continue:服务器已接收到初始部分请求,客户端应继续发送剩余部分。
- 2.101 Switching Protocols:服务器要求客户端切换协议。
- 3.102 Processing:服务器正在处理请求,但尚未完成处理(此状态码并不常见)。
3. 成功状态码
- 1.200 OK:请求成功,并返回相应的内容。
- 2.201 Created:请求已成功,并在服务器上创建了新的资源。
- 3.202 Accepted:请求已经被接受,但是尚未被处理完成。
- 4.203 Non-Authoritative Information:服务器成功处理了请求,但是返回的信息来自第三方服务器。
- 5.204 No Content:服务器成功处理请求,但没有返回任何内容。
- 6.205 Reset Content:服务器成功处理了请求,但没有返回任何内容,并要求请求者重置文档视图(例如,清除表单内容以输入新内容)。
- 7.206 Partial Content:客户端进行了范围请求,而服务器成功执行了这部分的GET请求。响应报文内包含由Content-Range指定范围的实体内容。
4. 重定向状态码
- 1.300 Multiple Choices:请求有多个响应可供选择,客户端可以从中选择一个。
- 2.301 Moved Permanently:请求的资源已永久移动到新的URL。
- 3.302 Found:请求的资源暂时移动到新的URL(临时重定向)。
- 4.303 See Other:表示由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源。如果浏览器原本是用POST方法去请求服务器,收到303状态码之后,会改用GET并访问资源新的URI。
- 5.304 Not Modified:客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况。例如,客户端请求的资源在客户端本地已有缓存,会在请求头部中加入“If-Modified-Since”、“If-None-Match”等字段,服务端根据这些字段信息判断这些资源信息是否经过修改,如果没有则返回304状态码,客户端可以直接使用缓存中的资源。
- 6.305 Use Proxy(已废弃):表示所请求的资源必须通过代理服务器来访问。
- 7.307 Temporary Redirect:临时重定向,和302 Found状态码有相同的含义。区别在于307不会强制浏览器将POST方法改为GET方法,而是遵循浏览器自身的标准。
- 8.308 Permanent Redirect:请求的资源已被永久移动到新URI,并且将来任何对此资源的引用都应该使用新的URI。
5. 客户端错误状态码
- 1.400 Bad Request:服务器无法理解客户端的请求。
- 2.401 Unauthorized:需要身份验证才能获取请求的资源。
- 3.402 Payment Required(保留未使用):此状态码是为了将来可能的需求而保留的。
- 4.403 Forbidden:请求被服务器拒绝,客户端没有访问权限。
- 5.404 Not Found:请求的资源不存在。
- 6.405 Method Not Allowed:请求方法不被服务器允许。
- 7.406 Not Acceptable:无法使用请求的内容特性响应请求的网页。
- 8.407 Proxy Authentication Required:此状态代码与401(未授权)类似,但指定请求者应当授权使用代理。
- 9.408 Request Timeout:服务器等候请求时发生超时。
- 10.409 Conflict:服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。
- 11.410 Gone:如果请求的资源已永久删除,服务器就会返回此响应。
- 12.411 Length Required:服务器不接受不含有效内容长度标头字段的请求。
- 13.412 Precondition Failed:服务器未满足请求者在请求中设置的其中一个前提条件。
- 14.413 Payload Too Large(或413 Request Entity Too Large):服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
- 15.414 URI Too Long(或414 Request-URI Too Long):请求的URI(通常为网址)过长,服务器无法处理。
- 16.415 Unsupported Media Type:请求的格式不受请求页面的支持。
- 17.416 Range Not Satisfiable(或416 Requested Range Not Satisfiable):如果页面无法提供请求的范围,则服务器会返回此状态代码。
- 18.417 Expectation Failed:服务器未满足“期望”请求标头字段的要求。
- 19.418 I’m a teapot(超文本咖啡壶控制协议(Hyper Text Coffee Pot Control Protocol)的参考状态码,为幽默用途而创建,并非实际使用的HTTP状态码)。
- 20.421 Misdirected Request:服务器认为请求被错误地定向到了无法处理该请求的服务器上。
- 21.422 Unprocessable Entity(WebDAV):请求的格式正确,但由于含有无法处理的请求数据而无法完成。
- 22.423 Locked(WebDAV):资源被锁定。
- 23.424 Failed Dependency(WebDAV):由于之前的某个请求发生的错误,导致当前请求失败,例如,由于某个资源上的锁导致对另一个资源的依赖请求失败。
- 24.426 Upgrade Required:客户端应升级到指定协议版本才能执行请求。
- 25.428 Precondition Required:请求需要满足特定的前提条件才能被处理。
- 26.429 Too Many Requests:用户在短时间内发送了太多请求(一般用于防止恶意攻击或防止用户滥用)。
- 27.431 Request Header Fields Too Large:服务器无法处理请求,因为请求头字段过大。
- 28.451 Unavailable For Legal Reasons:由于法律原因,资源不可用。
6. 服务器错误状态码
- 1.500 Internal Server Error:服务器遇到了意外情况,无法完成请求。
- 2.501 Not Implemented:服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
- 3.502 Bad Gateway:服务器作为网关或代理,从上游服务器收到无效响应。
- 4.503 Service Unavailable:服务器暂时无法处理请求,通常是由于过载或维护。
- 5.504 Gateway Timeout:服务器作为网关或代理,但是没有及时从上游服务器收到请求。
- 6.505 HTTP Version Not Supported:服务器不支持请求中所用的HTTP协议版本。
- 7.506 Variant Also Negotiates(透明内容协商):服务器内部配置错误导致,服务器协商或选择了一个并非由客户端提供的变体。
- 8.507 Insufficient Storage(WebDAV):服务器无法存储完成请求所必须的内容。
- 9.508 Loop Detected(WebDAV):服务器检测到无限循环重定向。
- 10.510 Not Extended:获取资源所需要的扩展无法被满足。
- 11.511 Network Authentication Required:客户端需要通过网络身份验证才能获得网络访问权限。