目录
- 目录
- HTTP 状态码分类
- 一些常见的状态码为:
- 以 1 开的状态码(接受的请求正在处理)
- 以 2 开的状态码(请求成功)
- 以 3 开的状态码(重定向)
- 以 4 开的状态码(请求错误)
- 以 5 开的状态码(请求错误)
HTTP 状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的 3 位数字代码。HTTP 状态码的作用是:Web 服务器用来告诉客户端,发生了什么事。
HTTP 状态码分类
HTTP 状态码被分为五大类, 目前我们使用的 HTTP 协议版本是 1.1, 支持以下的状态码。随着协议的发展,HTTP 规范中会定义更多的状态码。
- 100-199 信息,服务器收到请求,需要请求者继续执行操作
- 200-299 用于表示请求成功,操作被成功接收并处理
- 300-399 重定向,需要进一步的操作以完成请求,用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。
- 400-499 客户端请求出错,服务器无法处理请求
- 500-599 用于指出服务器错误,服务器在处理请求的过程中发生了错误
一些常见的状态码为:
200 - 服务器成功返回网页
400- 访问的页面域名不存在或者请求错误。主要分为两种。
1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。
2、请求参数有误。
401 - 请求要求用户的身份认证
403 - 服务器理解请求客户端的请求,但是拒绝执行此请求
404 - 请求的网页不存在
405 - 客户端请求中的方法被禁止。
500 - 服务器内部错误,无法完成请求
503 - 服务不可用
以 1 开的状态码(接受的请求正在处理)
100 (继续): 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101 (切换协议): 请求者已要求服务器切换协议,服务器已确认并准备切换。
以 2 开的状态码(请求成功)
- 200 (成功): 表示从客户端发送给服务器的请求被正常处理并返回;一般用于 GET 与 POST 请求
- 201 (已创建): 请求成功并且服务器创建了新的资源。
- 202 (已接受) :服务器已经接受请求,但未处理完成
- 203 (非授权信息): 服务器已成功处理了请求,但返回的 meta 信息不在原始的服务器,而是一个副本。
- 204 (无内容): 服务器成功处理了请求,但在返回的响应报文中不含实体的主体部分(没有资源可以返回)。
- 205 (重置内容): 服务器成功处理了请求,但没有返回任何内容。
- 206 (部分内容): 服务器成功处理了部分 GET 请求,响应报文中包含由 Content-Range 指定范围的实体内容。
以 3 开的状态码(重定向)
表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
300 (多种选择): 针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
301 (永久移动): 永久性重定向,表示请求的资源被分配了新的 URL,之后应使用更改的 URL;
302 (临时移动): 临时移动。与 301 类似。但资源只是临时被移动。客户端应继续使用原有 URI
303 (查看其他位置):查看其它地址。与 301 类似。使用 GET 和 POST 请求查看
304 (未修改): 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
305 (使用代理): 请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。
307 (临时重定向):临时重定向。与 302 类似。使用 GET 请求重定向
以 4 开的状态码(请求错误)
这些状态代码表示请求可能出错,妨碍了客户端的请求,服务器无法处理请求。
400 (错误请求):客户端请求的语法错误,服务器无法理解
401 (未授权): 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403 (禁止): 服务器理解请求客户端的请求,但是拒绝执行此请求。
404 (未找到):服务器无法根据客户端的请求找到资源(网页)。
405 (方法禁用):客户端请求中的方法被禁止。
406 (不接受): 服务器无法根据客户端请求的内容特性完成请求。
407 (需要代理授权): 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
408 (请求超时): 服务器等候请求时发生超时。
409 (冲突): 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
410 (已删除): 客户端请求的资源已经不存在。410 不同于 404,如果资源以前有现在被永久删除了可使用 410 代码,网站设计人员可通过 301 代码指定资源的新位置
411 (需要有效长度): 服务器不接受不含有效内容长度标头字段的请求。
412 (未满足前提条件): 服务器未满足请求者在请求中设置的其中一个前提条件。
413 (请求实体过大): 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
414 (请求的 URI 过长): 请求的 URI(通常为网址)过长,服务器无法处理。
415 (不支持的媒体类型): 请求的格式不受请求页面的支持。
416 (请求范围不符合要求): 如果页面无法提供请求的范围,则服务器会返回此状态代码。
417 (未满足期望值) 服务器未满足”期望”请求标头字段的要求。
以 5 开的状态码(请求错误)
这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
- 500 (服务器内部错误): 服务器遇到错误,无法完成请求。
- 501 (尚未实施): 服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
- 502 (错误网关): 服务器作为网关或代理,从上游服务器收到无效响应。
- 503 (服务不可用): 服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
- 504 (网关超时): 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
- 505 (HTTP 版本不受支持): 服务器不支持请求中所用的 HTTP 协议版本。