HTTP 状态代码

本部分描述 IIS 7.0、IIS 7.5 和 IIS 8.0 使用的 HTTP 状态代码。

注意本文不会列出 HTTP 规范中所述的每个可能的 HTTP 状态代码。本文只包括 IIS 7.0、IIS 7.5 和 IIS 8.0 可以发送的 HTTP 状态代码。例如,自定义 Internet Server API (ISAPI) 筛选器或自定义 HTTP 模块可以设置其自己的 HTTP 状态代码。

1xx - 信息

这些 HTTP 状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。

IIS 7.0、IIS 7.5 和 IIS 8.0 使用以下信息 HTTP 状态代码:

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

2xx - 成功

这些 HTTP 状态代码表明服务器成功地接受了请求。

IIS 7.0、IIS 7.5 和 IIS 8.0 使用以下成功 HTTP 状态代码:

  • 200 - 确定。客户端请求已成功。
  • 201 - 已创建。
  • 202 - 已接受。
  • 203 - 非授权信息。
  • 204 - 无内容。
  • 205 - 重置内容。
  • 206 - 部分内容。

3xx - 重定向

这些 HTTP 状态代码表明客户端浏览器必须采取更多操作来实现请求。例如,客户端浏览器可能必须请求服务器上的不同页。或者,客户端浏览器可能必须通过使用代理服务器重复请求。

IIS 7.0、IIS 7.5 和 IIS 8.0 使用以下重定向 HTTP 状态代码:

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

4xx - 客户端错误

这些 HTTP 状态代码表示发生错误,客户端似乎有问题。例如,客户端浏览器可能已请求不存在的页。或者,客户端未提供有效的身份验证信息。

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

  • 400 - 错误的请求。由于语法格式不正确,服务器无法理解该请求。客户端不应在未经修改的情况下重复请求。

    IIS 7.0、IIS 7.5 和 IIS 8.0 定义以下 HTTP 状态代码,指明 400 错误更为具体的原因:
    • 400.1 - 无效的目的标头。
    • 400.2 - 无效的深度标头。
    • 400.3 - 无效的如果标头。
    • 400.4 - 无效的覆盖标头。
    • 400.5 - 无效的转换标头。
    • 400.6 - 无效的请求正文。
    • 400.7 - 无效的内容长度。
    • 400.8 - 无效的超时值。
    • 400.9 - 无效的锁定令牌。
  • 401 - 访问被拒绝。

    IIS 7.0、IIS 7.5 和 IIS 8.0 定义以下 HTTP 状态代码,指明 401 错误更为具体的原因。以下特定的 HTTP 状态代码显示在客户端浏览器中,但是不会显示在 IIS 日志中:
    • 401.1 - 登录失败。
    • 401.2 - 服务器配置导致登录失败。
    • 401.3 - 由于 ACL 对资源的限制而未获得授权。
    • 401.4 - 筛选器授权失败。
    • 401.5 - ISAPI/CGI 应用程序授权失败。
  • 403 - 禁止访问:

    IIS 7.0、IIS 7.5 和 IIS 8.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 - 禁止访问:护照登录失败。
    • 403.21 - 禁止访问:拒绝源访问。
    • 403.22 - 禁止访问:拒绝无限深度。
    • 403.502 - 禁止访问:太多请求来自同一客户端 IP;已达到动态 IP 限制的限制。
  • 404 - 未找到。

    IIS 7.0、IIS 7.5 和 IIS 8.0 定义以下 HTTP 状态代码,指明 404 错误更为具体的原因:
    • 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、IIS 7.5 和 IIS 8.0 使用以下服务器错误 HTTP 状态代码:

  • 500 - 内部服务器错误。

    IIS 7.0、IIS 7.5 和 IIS 8.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 impersonation 配置。
    • 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、IIS 7.5 和 IIS 8.0 定义以下 HTTP 状态代码,指明 502 错误更为具体的原因:
    • 502.1 - CGI 应用程序超时。
    • 502.2 - 网关错误:过早退出。
    • 502.3 - 网关错误:转发器连接错误 (ARR)。
    • 502.4 - 网关错误:无服务器 (ARR)。
  • 503 - 服务不可用。

    IIS 7.0、IIS 7.5 和 IIS 8.0 定义以下 HTTP 状态代码,指明 503 错误更为具体的原因:
    • 503.0 - 应用程序池不可用。
    • 503.2 - 超出并发请求限制。
    • 503.3 - ASP.NET 队列已满

日志文件位置

默认情况下,IIS 7.0、IIS 7.5 和 IIS 8.0 将日志文件放在以下文件夹中:

inetpub\logs\Logfiles

此文件夹包含每个万维网网站的单独目录。默认情况下,每天会在目录中创建日志文件,并且日志文件使用日期重命名。例如,可能按以下方式命名日志文件:

exYYMMDD.log
posted @ 2014-03-27 08:52  paullam  阅读(582)  评论(0编辑  收藏  举报