### HTTP状态码大全详解 HTTP协议作为Web应用的基础通信协议之一,在互联网中扮演着至关重要的角色。它定义了一系列的状态码来表示服务器响应客户端请求的状态。本文将详细介绍HTTP状态码的各种类型及其含义,帮助读者更好地理解和处理HTTP响应。 #### 一、1xx 信息性状态码 1xx状态码表示接收到请求并且正在处理。这些状态码主要用于通知客户端后续的动作,但客户端无需为此采取行动。这类状态码并不常见。 - **100 继续**:指示客户端可以继续执行请求,或如果请求已经完成,则忽略该响应。 - **101 切换协议**:表示服务器将根据Upgrade头字段切换协议;只有在服务器具有“Upgrade”字段的有效值时才会发送此响应。 #### 二、2xx 成功状态码 2xx状态码表示请求已成功被服务器接收、理解,并接受了。 - **200 成功**:表示请求已成功,且请求所希望的响应头部或数据体将随此响应返回。 - **201 创建**:表示请求已成功,且一个新的资源已经被创建,其 URI 将在响应的 Location 头中给出。 - **202 已接受**:表示服务器已经接受了请求,但尚未处理。 - **203 非权威信息**:表示请求成功,但是返回的信息可能来自另一个源,如缓存。 - **204 无内容**:服务器成功处理了请求,但没有返回任何内容。 - **205 重置内容**:告诉用户代理重置文档视图。这个状态码主要是在网页表单提交后返回,指示浏览器清空表单输入字段。 - **206 部分内容**:服务器成功处理了部分 GET 请求。 #### 三、3xx 重定向状态码 3xx状态码表示需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向。 - **300 多种选择**:请求的资源对应多个位置。用户/用户代理必须选择一个并重复请求。 - **301 永久移动**:请求的资源已被永久移动到新位置,并且将来任何对该资源的引用都应使用本次响应返回的若干个 URI 之一。 - **302 临时移动**:请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。 - **303 查看其他**:对应的资源可以被不同方法在不同位置上找到。 - **304 未修改**:自从上次请求后,请求的网页未修改过。因此,可以继续使用先前请求的任何缓存版本。 - **305 使用代理**:请求者只能使用代理访问请求的页面。如果服务器返回此响应,还应指定代理服务器(使用 Proxy-Authenticate 属性)。 - **306 未使用**:在以前的HTTP/1.1版本中使用过,但在HTTP/1.1中不再使用。 - **307 临时重定向**:请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。 #### 四、4xx 客户端错误状态码 4xx状态码表示客户端发生错误,请求无法被服务器理解或处理。 - **400 恶意请求**:服务器不理解请求的语法。 - **401 未授权**:请求要求用户的身份认证。 - **402 付款所需**:保留未来可能使用的功能。 - **403 禁止**:服务器理解请求客户端的请求,但是拒绝执行此请求。 - **404 未找到**:请求失败,请求所希望得到的资源未被在服务器上发现。 - **405 方法禁用**:请求行中指定的方法不允许用于请求相应的资源。 - **406 不可接受**:请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。 - **407 代理认证请求**:与 401 类似,但请求者应当授权使用代理。 - **408 请求超时**:请求超出了服务器愿意等待的时间。 - **409 冲突**:由于与当前资源状态之间的冲突,请求无法完成。 - **410 已删除**:如果请求的资源已永久删除,那么应当使用 410 状态码。 - **411 需要有效长度**:服务器不接受不含有效内容长度标头字段的请求。 - **412 期望失败**:服务器在处理请求的过程中遇到条件检查失败的情况。 - **413 实体过大**:请求的资源大于服务器愿意或能够处理的。 - **414 请求-URI 过长**:请求的 URI 长度超过了服务器能够解释的长度。 - **415 不支持的媒体类型**:请求的格式不受请求页面的支持。 - **416 范围不满**:客户端有范围请求的需要,且范围不能满足请求的需求。 - **417 期望失败**:服务器未满足期望请求的一个或多个条件。 #### 五、5xx 服务器错误状态码 5xx状态码表示服务器发生错误,无法完成对请求的处理。 - **500 内部服务器错误**:服务器遇到了某种不可预知的情况,无法完成对请求的处理。 - **501 未实现**:服务器不支持当前请求所需要的某个功能。 - **502 错误网关**:作为网关或代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。 - **503 服务不可用**:服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。 - **504 网关超时**:作为网关或代理工作的服务器尝试执行请求时,未能及时从上游服务器(DNS服务器、外部API等)获取响应。 - **505 HTTP版本不受支持**:服务器不支持请求中所用的HTTP协议版本。 通过以上详细介绍,我们可以看出HTTP状态码对于理解和诊断网络请求问题至关重要。每一种状态码都有其特定的意义和用途,掌握它们有助于开发者更高效地调试和优化Web应用。
2**:操作成功收到,分析、接受
3**:完成此请求必须进一步处理
4**:请求包含一个错误语法或不能完成
5**:服务器执行一个完全有效请求失败
100――客户必须继续发出请求
101――客户要求服务器根据请求转换HTTP协议版本
200――交易成功
201――提示知道新文件的URL
202――接受和处理、但处理未完成
203――返回信息不确定或不完整
204――请求收到,但返回信息为空
205――服务器完成了请求,用户代理必须复位当前已经浏览过的文件
206――服务器已经完成了部分用户的GET请求
300――请求的资源可在多处得到
301――删除请求数据
302――在其他地址发现了请求数据
303――建议客户访问其他URL或访问方式
304――客户端已经执行了GET,但文件未变化
305――请求的资源必须从服务器指定的地址得到
306――前一版本HTTP中使用的代码,现行版本中不再使用
307――申明请求的资源临时性删除
400――错误请求,如语法错误
401――请求授权失败
402――保留有效ChargeTo头响应
403――请求不允许
- 粉丝: 3
- 资源: 43
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助