HTTP 状态代码

HTTP 状态代码本部分介绍 IIS 7.0 使用的 HTTP 状态代码。

注意 这篇文章不会列出每个可能的 HTTP 状态代码,要求于 HTTP 规范中。这篇文章包括只的 HTTP 状态代码的 IIS 7.0 可以发送的。例如,自定义 Internet 服务器 API (ISAPI) 筛选器或自定义 HTTP 模块可以设置自己的 HTTP 状态代码。 1xx -信息这些 HTTP 状态代码表示临时响应。客户机接收的一个或多个 1xx 响应客户端计算机在收到常规响应之前。

IIS 7.0 使用以下信息性 HTTP 状态代码:

  • 100-继续。
  • 101-交换协议。

2xx -成功这些 HTTP 状态代码表示服务器已成功接受请求。

IIS 7.0 使用下面的成功 HTTP 状态代码:

  • 200-确定。客户端请求已成功完成。
  • 201-创建。
  • 202-接受。
  • 203-不具有权威性的信息。
  • 204-无内容。
  • 205-重置内容。
  • 206-部分内容。

3xx -重定向这些 HTTP 状态代码表示客户端浏览器必须采取更多措施执行此请求。例如,客户端浏览器可能不得不请求服务器上的不同页面。或者,客户端浏览器可能需要使用代理服务器重复请求。

IIS 7.0 使用以下重定向 HTTP 状态代码:

  • 301-被永久删除。
  • 302-对象已移动。
  • 304-未修改。
  • 307-临时重定向。

4xx 客户端错误这些 HTTP 状态代码表明发生了错误,且客户端浏览器显示为有故障。例如,客户端浏览器可能会请求不存在的页面。或者,客户端浏览器可能不提供有效的身份验证信息。

IIS 7.0 使用以下客户端错误 HTTP 状态代码:

  • 400-请求错误。无法通过服务器因语法不正确理解此请求。客户端不应重复没有修改的请求。

    IIS 7.0 定义了以下 HTTP 状态代码表明 400 错误的更具体的原因:
    • 400.1-无效的目标标头。
    • 400.2-无效的深度标头。
    • 400.3-无效的 If 标头。
    • 400.4-无效覆盖标头。
    • 400.5-无效翻译标头。
    • 400.6-无效请求正文。
    • 400.7-无效的内容长度。
    • 400.8-超时无效。
    • 400.9-无效的锁定标记。
  • 401-访问被拒绝。

    IIS 7.0 定义几个 HTTP 状态代码表明 401 错误的更具体的原因。以下特定的 HTTP 状态代码在客户端浏览器中显示,但不是会显示在 IIS 日志中:
    • 401.1-登录失败。
    • 401.2-登录失败,服务器配置。
    • 401.3-由于授权到 ACL 资源上。
    • 401.4-授权筛选器失败。
    • 401.5-授权失败 ISAPI/CGI 应用程序。
  • 403-禁止访问。

    IIS 7.0 定义了以下 HTTP 状态代码表明 403 错误的更具体的原因:
    • 403.1-执行访问被禁止。
    • 403.2-读取访问被禁止。
    • 403.3-写入访问被禁止。
    • 403.4-所需的 SSL。
    • 403.5-所需的 SSL 128。
    • 403.6-拒绝的 IP 地址。
    • 403.7-需要客户端证书。
    • 403.8-站点访问被拒绝。
    • 403.9-禁止访问: 太多的客户端试图连接到 Web 服务器。
    • 403.10-禁止访问: Web 服务器配置为拒绝执行访问。
    • 403.11-禁止访问: 密码已更改。
    • 403.12-映射程序拒绝访问。
    • 403.13-客户端证书被吊销。
    • 403.14-目录列表被拒绝。
    • 403.15-禁止访问: 客户端访问许可证已超过在 Web 服务器上的限制。
    • 403.16-客户端证书不可信或者无效。
    • 403.17-客户端证书已过期或尚未生效。
    • 403.18-无法在当前的应用程序池执行请求的 URL。
    • 403.19-无法在此应用程序池执行 CGI 应用程序客户端。
    • 403.20-禁止访问: Passport 登录失败。
    • 403.21-禁止访问: 源访问被拒绝。
    • 403.22-禁止访问: 拒绝无限的深度。
    • 403.502-禁止访问: 过多的请求来自同一客户端 IP;已达到动态 IP 限制限制。
  • 404-未找到。

    IIS 7.0 定义了以下指示一个更具体的 404 错误原因的 HTTP 状态代码:
    • 404.0-找不到。
    • 404.1-未找到站点。
    • 404.2-ISAPI 或 CGI 限制。
    • 404.3-MIME 类型限制。
    • 404.4-配置没有处理程序。
    • 404.5-筛选配置的请求被拒绝。
    • 404.6-动词拒绝。
    • 404.7-拒绝的文件扩展名。
    • 404.8-隐藏命名空间。
    • 404.9-隐藏的文件属性。
    • 404.10-请求标头太长。
    • 404.11-请求包含双引号转义序列。
    • 404.12-请求包含高位字符。
    • 404.13-内容长度太大。
    • 404.14-请求 URL 太长。
    • 404.15-查询字符串太长。
    • 404.16-DAV 请求发送到静态文件处理程序。
    • 404.17-映射到静态文件处理程序通过通配符 MIME 映射的动态内容。
    • 404.18-查询字符串序列被拒绝。
    • 404.19-通过筛选规则拒绝。
    • 404.20-段数太多的 URL
  • 405-不允许的方法。
  • 406-客户端浏览器不接受请求的页的 MIME 类型。
  • 408-请求超时。
  • 412-前提条件失败。

5xx -服务器错误这些 HTTP 状态代码表示服务器无法完成请求,因为服务器遇到一个错误。

IIS 7.0 使用以下服务器错误 HTTP 状态代码:

    • 500-内部服务器错误。

      IIS 7.0 定义了以下 HTTP 状态代码表明 500 错误的更具体的原因:
      • 500.0-模块或 ISAPI 时出错。
      • 500.11-应用程序正在关闭 Web 服务器上。
      • 500.12-应用程序正在重新启动 Web 服务器上。
      • 500.13-Web 服务器是太忙。
      • 500.15-不允许对 Global.asax 直接请求。
      • 500.19-配置数据无效。
      • 500.21-无法识别的模块。
      • 500.22-ASP。NET httpModules 配置不适用于托管管道模式。
      • 500.23-ASP。NET httpHandlers 配置不适用于托管管道模式。
      • 500.24-ASP。NET 模拟配置不适用于托管管道模式。
      • 500.50的 RQ_BEGIN_REQUEST 通知处理期间发生重写错误。配置或入站的规则执行错误发生。 注意 下面是分布式的规则配置入站和出站规则中读取位置。
      • 500.51的 GL_PRE_BEGIN_REQUEST 通知处理期间发生重写错误。全局配置或全局规则执行错误发生。 注意 下面是其中读取全局规则配置。
      • 500.52的 RQ_SEND_RESPONSE 通知处理期间发生重写错误。出站规则执行时发生。
      • 500.53的 RQ_RELEASE_REQUEST_STATE 通知处理期间发生重写错误。出站规则执行时出错。规则均配置为输出用户缓存获取更新之前执行。
      • 500.100-内部的 ASP 错误。
    • 501 标头值指定未实现的配置。
    • 502-Web 服务器作为网关或代理服务器时收到无效的响应。

      IIS 7.0 定义了以下 HTTP 状态代码表明 502 错误的更具体的原因:
      • 502.1-CGI 应用程序超时。
      • 502.2-网关无效。
    • 503-服务不可用。

      IIS 7.0 定义了以下指示一个更具体的 503 错误原因的 HTTP 状态代码:
      • 503.0-应用程序池不可用。
      • 503.2-超出的并发请求限制。
工欲善其事,必先利其器。
原文地址:https://www.cnblogs.com/zhangzhu/p/2494998.html