HTTP错误状态码详解
HTTP 状态码分为 5 类,如下表所示:
HTTP状态码分类
|
含义
|
1xx
|
信息
|
2xx
|
成功
|
3xx
|
重定向
|
4xx
|
客户端错误
|
5xx
|
服务器错误
|
下面详细说明一下各个状态码的作用:
1xx
- 100 Continue (继续) 收到了请求的起始部分,客户端应该继续请求。
- 101 Switching Protocols (切换协议) 服务器正根据客户端的指示将协议切换成 Update 首部列出的协议。
2xx
- 200 OK 服务器已成功处理请求。
- 201 Created (已创建) 对那些要服务器创建对象的请求来说,资源已创建完毕。
- 202 Accepted (已接受) 请求已接受,但服务器尚未处理。
- 203 Non - Authoritative Information (非权威信息) 服务器已将事务成功处理,只是实体首部包含的信息不是来自原始服务器,而是来自资源的副本。
- 204 No Content (没有内容) 响应报文包含一些首部和一个状态行,但不包含实体的主体内容。
- 205 Reset Content (重置内容) 另一个主要用于浏览器的代码。意思是浏览器应该重置当前页面上所有的 HTML 表单。
- 206 Partial Content (部分内容) 部分请求成功。
3xx
- 300 Multiple Choices (多项选择) 客户端请求了实际指向多个资源的 URL 。这个代码是和一个选项列表一起返回的,然后用户就可以选择他希望使用的选项了。
- 301 Moved Permanently (永久搬离) 请求的 URL 已移走。响应中应该包含一个 Location URL ,说明资源现在所处的位置。
- 302 Found (已找到) 与状态码301类似,但这里的搬离是临时的。客户端应该用 Location 首部给出的 URL 对资源进行临时定位。
- 303 See Other (参见其他) 告诉客户端应该用另一个 URL 获取资源。这个新的 URL 位于响应报文的 Location 首部。
- 304 Not Modified (未修改) 客户端可以通过它们所包含的请求首部发起条件请求。这个代码说明资源未发生过变化。
- 305 Use Proxy (使用代理) 必须通过代理访问资源,代理的位置是在 Location 首部中给出的。
- 306 这个状态码当前并未使用。
- 307 Temporary Redirect (临时重定向) 和状态码301类似。但客户端应该用 Location 首部给出的 URL 对资源进行临时定位。
4xx
- 400 Bad request (坏请求) 告诉客户端它发送了一条异常请求。
- 401 Unauthorized (未授权) 与适当的首部一起返回,在客户端获得资源访问权之前,请它进行身份认证。
- 402 当前此状态码并未使用,是为未来使用预留的。
- 403 Forbidden (禁止) 服务器拒绝了请求。
- 404 Not Found (未找到) 服务器无法找到所请求的 URL 。
- 405 Method Not Alowed (不允许使用的方法) 请求中有一个所请求的 URI 不支持的方法。响应中应该包含一个 Allow 首部,以告知客户端所请求的资源支持使用哪些方法。
- 406 Not Acceptable (无法接受) 客户端可以指定一些参数来说明希望接受哪些类型的实体。服务器没有资源与客户端可接受的 URL 相匹配时可使用此代码。
- 407 Proxy Authentication Required (要求进行代理认证) 和状态码401类似,但用于需要进行资源认证的代理服务器。
- 408 Request Timeout (请求超时) 如果客户端完成其请求时花费的时间太长,服务器可以回送这个状态码并关闭连接。
- 409 Conflict (冲突) 发出的请求在资源上造成了一些冲突。
- 410 Gone (消失了) 除了服务器曾持有这些资源之外,与状态码404类似。
- 411 Length Required (要求长度指示) 服务器要求在请求报文中包含 Content-Length 首部时会使用这个代码。发起的请求中若没有 Content-Length 首部,服务器是不会接受此资源请求的。
- 412 Precondition Failed (先决条件失败) 如果客户端发起了一个条件请求,如果服务器无法满足其中的某个条件,就返回这个响应码。
- 413 Request Entity Too Large (请求实体太大) 客户端发送的实体主体部分比服务器能够或者希望处理的要大。
- 414 Request URI Too Long (请求 URI 太长) 客户端发送的请求所携带的请求 URL 超过了服务器能够或者希望处理的长度。
- 415 Unsupported Media Type (不支持的媒体类型) 服务器无法理解或不支持客户端所发送的实体的内容类型。
- 416 Requested Range Not Satisfiable (所请求的范围未得到满足) 请求报文请求的是某范围内的指定资源,但那个范围无效,或者未得到满足。
- 417 Expectation Failed (无法满足期望) 请求的 Expect 首部包含了一个预期内容,但服务器无法满足。
5xx
- 500 Internal Server Error (内部服务器错误) 服务器遇到了一个错误,使其无法为请求提供服务。
- 501 Not Implemented (未实现) 服务器无法满足客户端请求的某个功能。
- 502 Bad Gateway (网关故障) 作为代理或网关使用的服务器遇到了来自响应链中上游的无效响应。
- 503 Service Unavailable (未提供此服务) 服务器目前无法为请求提供服务,但过一段时间就可以恢复服务。
- 504 Gateway Timeout (网关超时) 与状态码408类似,但是响应来自网关或代理,此网关或代理在等待另一台服务器的响应时出现了超时。
- 505 HTTP Version Not Supported (不支持的 HTTP 版本) 服务器收到的请求是以它不支持或不愿支持的协议版本表示的。