璀璨论坛 斑竹 唫 夢 誦 風常用软件类程序论坛代码 → IIS 7.0 及更高版本中的 HTTP 状态码


  共有3443人关注过本帖树形打印复制链接

主题:IIS 7.0 及更高版本中的 HTTP 状态码

帅哥哟,离线,有人找我吗?
ymsf
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:8384 积分:88654 威望:0 精华:83 注册:2017/3/13 16:47:52
IIS 7.0 及更高版本中的 HTTP 状态码  发帖心情 Post By:2022/1/27 0:59:47 [只看该作者]

 https://docs.microsoft.com/en-us/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code

 

IIS 7.0 及更高版本中的 HTTP 状态码
文章
2022 年 1 月 25 日
17分钟阅读
R
S
V
这个页面有用吗?


本文提供了 Microsoft Internet 信息服务 (IIS) 7.0 和更高版本中的超文本传输协议 (HTTP) 状态代码的列表。

原始产品版本:   Internet Information Services 7.0 及更高版本
原始 KB 编号:   943891

介绍
当您尝试使用 HTTP 协议访问运行 (IIS) 7.0、7.5 或更高版本的服务器上的内容时,IIS 会返回一个数字代码来指示响应的状态。HTTP 状态代码记录在 IIS 日志中。此外,HTTP 状态代码可能会显示在客户端浏览器中。

HTTP 状态代码可以指示请求是成功还是不成功。HTTP 状态代码还可能揭示请求不成功的确切原因。

日志文件位置
IIS 7.0 及更高版本默认将日志文件放在以下文件夹中:
inetpub\logs\Logfiles

此文件夹包含每个万维网网站的单独目录。日志文件每天在目录中创建,默认使用日期命名。例如,日志文件可能被命名为exYYMMDD.log。

HTTP 状态码
本节介绍 IIS 7.0 及更高版本使用的 HTTP 状态代码。

 笔记

本文并未列出 HTTP 规范中规定的所有可能的 HTTP 状态代码。本文仅包含 IIS 7.0 及更高版本可以发送的 HTTP 状态代码。例如,自定义 Internet 服务器 API (ISAPI) 过滤器或自定义 HTTP 模块可以设置自己的 HTTP 状态代码。

1 xx - 信息
这些 HTTP 状态代码表示临时响应。在客户端计算机收到常规响应之前,客户端计算机会收到一个或多个 1 xx响应。

IIS 7.0 及更高版本使用以下信息性 HTTP 状态代码:

100 - 继续。
101 - 交换协议。
2 xx - 成功
这些 HTTP 状态代码表明服务器成功接受了请求。

IIS 7.0 及更高版本使用以下成功 HTTP 状态代码:

200 - 好的。客户端请求成功。
201 - 创建。
202 - 接受。
203 - 非权威信息。
204 - 没有内容。
205 - 重置内容。
206 - 部分内容。
3 xx - 重定向
这些 HTTP 状态代码表明客户端浏览器必须采取更多操作来完成请求。例如,客户端浏览器可能必须请求服务器上的不同页面。或者,客户端浏览器可能不得不使用代理服务器重复请求。

IIS 7.0 及更高版本使用以下重定向 HTTP 状态代码:

301 - 永久移动。
302 - 对象移动。
304 - 未修改。
307 - 临时重定向。
4 xx - 客户端错误
这些 HTTP 状态代码表明发生了错误,并且客户端浏览器似乎出现故障。例如,客户端浏览器可能请求了一个不存在的页面。或者,客户端浏览器可能没有提供有效的身份验证信息。

IIS 7.0 及更高版本使用以下客户端错误 HTTP 状态代码:

400 - 错误请求。由于语法错误,服务器无法理解该请求。客户端不应该在没有修改的情况下重复请求。

IIS 7.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 和更高版本定义了几个 HTTP 状态代码,它们指示错误 401 的更具体原因。以下特定 HTTP 状态代码显示在客户端浏览器中,但不显示在 IIS 日志中:

401.1 - 登录失败。
401.2 - 由于服务器配置,登录失败。
401.3 - 由于 ACL 资源未授权。
401.4 - 过滤器授权失败。
401.5 - ISAPI/CGI 应用程序授权失败。
401.501 - 拒绝访问:来自同一客户端 IP 的请求过多;动态 IP 限制 已达到并发请求速率限制。
401.502 - 禁止:来自同一客户端 IP 的请求过多;动态 IP 限制 已达到最大请求速率限制。
401.503 - 拒绝访问:IP 地址包含在 IP 限制的拒绝列表中
401.504 - 拒绝访问:主机名包含在 IP 限制的拒绝列表中
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 - 禁止:护照登录失败。
403.21 - 禁止:源访问被拒绝。
403.22 - 禁止:无限深度被拒绝。
403.501 - 禁止:来自同一客户端 IP 的请求过多;动态 IP 限制 已达到并发请求速率限制。
403.502 - 禁止:来自同一客户端 IP 的请求过多;动态 IP 限制 已达到最大请求速率限制。
403.503 - 禁止:IP 地址包含在 IP 限制的拒绝列表中
403.504 - 禁止:主机名包含在 IP 限制的拒绝列表中
404 - 未找到。

IIS 7.0 和更高版本定义了以下 HTTP 状态代码,它们指示错误 404 的更具体原因:

404.0 - 未找到。

404.1 - 未找到站点。

404.2 - ISAPI 或 CGI 限制。

404.3 - 多用途 Internet 邮件扩展 (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 段过多

404.501 - 未找到:来自同一客户端 IP 的请求过多;动态 IP 限制 已达到并发请求速率限制。

404.502 - 未找到:来自同一客户端 IP 的请求过多;动态 IP 限制 已达到最大请求速率限制。

404.503 - 未找到:IP 地址包含在 IP 限制的拒绝列表中

404.504 - 未找到:主机名包含在 IP 限制的拒绝列表中

405 - 不允许的方法。

406 - 客户端浏览器不接受请求页面的 MIME 类型。

408 - 请求超时。

412 - 前提条件失败。

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

IIS 和更高版本使用以下服务器错误 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.NEThttpModules配置不适用于托管管道模式。

500.23 - ASP.NEThttpHandlers配置不适用于托管管道模式。

500.24 - ASP.NET 模拟配置不适用于托管管道模式。

RQ_BEGIN_REQUEST500.50 -通知处理期间发生重写错误。发生配置或入站规则执行错误。

 笔记

这里是为入站和出站规则读取分布式规则配置的地方。

500.51 - 在 GL_PRE_BEGIN_REQUEST 通知处理期间发生重写错误。发生全局配置或全局规则执行错误。

 笔记

这里是读取全局规则配置的地方。

RQ_SEND_RESPONSE500.52 -通知处理期间发生重写错误。发生出站规则执行。

RQ_RELEASE_REQUEST_STATE500.53 -通知处理期间发生重写错误。发生出站规则执行错误。该规则配置为在更新输出用户缓存之前执行。

500.100 - 内部 ASP 错误。

501 - 标头值指定未实现的配置。

502 - Web 服务器在充当网关或代理时收到无效响应。

IIS 7.0 和更高版本定义了以下 HTTP 状态代码,指示错误 502 的更具体原因:

502.1 - CGI 应用程序超时。
502.2 - 网关错误:过早退出。
502.3 - 网关错误:转发器连接错误 (ARR)。
502.4 - 网关错误:无服务器 (ARR)。
503服务不可用。

IIS 7.0 和更高版本定义了以下 HTTP 状态代码,指示错误 503 的更具体原因:

503.0 - 应用程序池不可用。
503.2 - 超出并发请求限制。
503.3 - ASP.NET 队列已满
503.4 - FastCGI 队列已满
常见的 HTTP 状态码和原因
下表描述了一些常见的 HTTP 状态码的原因。

常见的 HTTP 状态码和原因
代码 描述 笔记
200 行 IIS 7.0 及更高版本成功处理了该请求。
304 未修改 客户端浏览器请求一个已经在缓存中的文档。并且该文档自从被缓存后就没有被修改过。客户端浏览器使用文档的缓存副本,而不是从服务器下载文档。
400 错误的请求 由于请求中存在问题,超文本传输协议堆栈 ( Http.sys ) 文件阻止 IIS 7.0 及更高版本处理请求。通常,此 HTTP 状态代码意味着请求包含无效字符或序列,或者请求违反Http.sys文件中的安全设置。
401.1 登录失败 登录尝试失败可能是因为用户名或密码无效。
401.2 由于服务器配置,登录失败 此 HTTP 状态代码表示服务器上的身份验证配置设置存在问题。
401.3 由于资源上的 ACL 未授权 此 HTTP 状态代码表示 NTFS 文件系统权限存在问题。即使您尝试访问的文件的权限正确,也可能会出现此问题。例如,如果 IUSR 帐户无权访问C:\Winnt\System32\Inetsrv目录,则会出现此问题。
401.4 过滤器授权失败 由于授权问题,Internet 服务器应用程序编程接口 (ISAPI) 过滤器不允许处理请求。
401.5 ISAPI/CGI 应用程序授权失败 由于授权问题,ISAPI 应用程序或通用网关接口 (CGI) 应用程序不允许处理请求。
403.1 执行访问被禁止 未授予适当级别的执行权限。
403.2 禁止读取访问 未授予适当级别的读取权限。验证您是否已设置 IIS 7.0 及更高版本以授予对目录的读取权限。此外,如果您使用默认文档,请验证默认文档是否存在。
403.3 禁止写访问 未授予适当级别的写入权限。检查 IIS 7.0 及更高版本的权限和 NTFS 文件系统权限。确保将它们设置为授予目录的写入权限。
403.4 需要 SSL 该请求是通过非安全通道发出的。但是 Web 应用程序需要安全套接字层 (SSL) 连接。
403.5 需要 SSL 128 服务器配置为需要 128 位 SSL 连接。但是,请求不是使用 128 位加密发送的。
403.6 IP 地址被拒绝 服务器配置为拒绝访问当前 IP 地址。
403.7 需要客户证书 服务器配置为需要证书进行客户端身份验证。但是客户端浏览器没有安装适当的客户端证书。有关详细信息,请参阅运行托管在运行 IIS 7.0 的服务器上的 Web 应用程序时的 HTTP 错误 403.7。
403.8 网站访问被拒绝 服务器配置为根据客户端计算机的域名系统 (DNS) 名称拒绝请求。有关详细信息,请参阅动态 IP 地址限制。
403.12 映射器拒绝访问 您要访问的页面需要客户端证书。但是,映射到客户端证书的用户 ID 被拒绝访问该文件。
403.13 客户证书被吊销 客户端浏览器尝试使用已被颁发证书颁发机构吊销的客户端证书。
403.14 目录列表被拒绝 服务器未配置为显示内容目录列表,并且未设置默认文档。有关详细信息,请参阅HTTP 错误 403.14 - 打开 IIS 网页时被禁止。
403.16 客户端证书不受信任或无效。 客户端浏览器尝试使用无效的客户端证书。或者运行 IIS 7.0 和更高版本的服务器不信任客户端证书。有关详细信息,请参阅当您尝试访问托管在 IIS 7.0 上的网站时出现 HTTP 错误 403.16。
403.17 客户端证书已过期或尚未生效。 客户端浏览器尝试使用已过期或无效的客户端证书。
403.18 无法在当前应用程序池中执行请求的 URL。 配置了自定义错误页面。并且客户错误页面的应用程序池与请求的URL的应用程序池不同。
403.19 无法为该应用程序池中的客户端浏览器执行 CGI 应用程序。 应用程序池的标识没有替换进程级别令牌用户权限。
404.0 未找到。 您尝试访问的文件已移动或不存在。
404.2 ISAPI 或 CGI 限制。 请求的 ISAPI 资源或请求的 CGI 资源在计算机上受到限制。有关详细信息,请参阅当您访问托管在运行 IIS 7.0 的计算机上的网页时出现 HTTP 错误 404.2。
404.3 MIME 类型限制。 请求的扩展类型的当前 MIME 映射无效或未配置。
404.4 未配置处理程序。 请求的 URL 的文件扩展名没有配置为处理 Web 服务器上的请求的处理程序。
404.5 被请求过滤配置拒绝。 请求的 URL 包含被服务器阻止的字符序列。
404.6 动词否定。 使用未配置或无效的 HTTP 谓词发出请求。
404.7 文件扩展名被拒绝。 不允许请求的文件扩展名。
404.8 隐藏的命名空间。 由于目录被隐藏,请求的 URL 被拒绝。
404.9 文件属性隐藏。 请求的文件被隐藏。
404.10 请求标头太长。 请求被拒绝,因为请求标头太长。
404.11 请求包含双转义序列。 该请求包含一个双转义序列。
404.12 请求包含高位字符。 请求包含高位字符,并且服务器配置为不允许高位字符。
404.13 内容长度太大。 该请求包含一个Content-Length标头。标头的值Content-Length大于服务器允许的限制。有关详细信息,请参阅当您访问托管在运行 IIS 7.0 的服务器上的网站时的 HTTP 错误 404.13 - CONTENT_LENGTH_TOO_LARGE。
404.14 请求 URL 太长。 请求的 URL 超出了服务器允许的限制。
404.15 查询字符串太长。 该请求包含一个长于服务器允许的限制的查询字符串。
404.17 映射到静态文件处理程序的动态内容。 有关详细信息,请参阅访问托管在 IIS 7.0 上的网站时的错误消息:HTTP 错误 404.17 - 未找到。
405.0 不允许的方法。 该请求是使用无效的 HTTP 方法发出的。有关详细信息,请参阅当您访问托管在运行 IIS 的服务器上的网站时出现 HTTP 错误 405.0。
406.0 MIME 类型无效。 Accept使用包含无效 MIME 值的标头发出请求。
412.0 前提条件失败。 该请求是使用If-Match包含无效值的请求标头发出的。
500 内部服务器错误。 由于许多服务器端原因,可能会出现此 HTTP 状态代码。有关详细信息,请参阅打开 IIS 7.0 网页时出现 HTTP 错误 500.0 - 内部服务器错误错误。
500.11 应用程序正在 Web 服务器上关闭。 由于目标应用程序池正在关闭,因此未处理该请求。等待工作进程完成关闭,然后再次尝试请求。如果此问题仍然存在,则 Web 应用程序可能遇到阻止 Web 应用程序正确关闭的问题。
500.12 应用程序正忙于在 Web 服务器上重新启动。 由于目标应用程序池正在重新启动,因此未处理该请求。当您刷新页面时,此 HTTP 状态代码应该会消失。如果刷新页面后再次出现此 HTTP 状态代码,则问题可能是由正在扫描 Global.asa 文件的防病毒软件引起的。如果此问题仍然存在,则 Web 应用程序可能会遇到阻止 Web 应用程序正确重新启动的问题。
500.13 Web 服务器太忙。 由于服务器太忙而无法接受任何新的传入请求,因此未处理该请求。通常,此 HTTP 状态代码意味着传入的并发请求数超过了 IIS 7.0 和更高版本的 Web 应用程序可以处理的数量。当性能配置设置过低、硬件不足或IIS 7.0 及更高版本的Web 应用程序出现瓶颈时,可能会出现此问题。常见的故障排除方法是在发生错误时生成IIS 7.0及以后版本进程的内存转储文件,然后对内存转储文件进行调试。
500.15 不允许直接请求 Global.asax。 直接请求Global.asa文件或Global.asax文件。
500.19 配置数据无效。 出现此 HTTP 状态代码是因为关联的applicationhost.config文件或关联的Web.config文件中存在问题。有关详细信息,请参阅打开 IIS 网页时出现 HTTP 错误 500.19。
500.100 内部 ASP 错误。 在处理 Active Server Pages (ASP) 页面期间发生错误。要获取有关错误的更具体信息,请在 Web 浏览器中禁用友好的 HTTP 错误消息。此外,IIS 日志可能会显示与发生的错误相对应的 ASP 错误号。
503.0 暂停服务。 请求被发送到当前停止或禁用的应用程序池。要解决此问题,请确保目标应用程序池已启动。事件日志可能会提供有关应用程序池停止或禁用原因的信息。
503.2 超出并发请求限制。 该appConcurrentRequestLimit属性设置为低于当前并发请求数的值。IIS 7.0 和更高版本不允许超过appConcurrentRequestLimit属性值的并发请求。
IIS 8.0 中添加的 HTTP 子状态代码
IIS 8.0 中添加的 HTTP 子状态代码
子代码 描述
400.10 X-Forwarded-For (XFF) 标头无效
400.11 无效的 WebSocket 请求
ARR 3.0.1916 中添加的 HTTP 子状态代码
ARR 3.0.1916 中添加的 HTTP 子状态代码
子代码 描述
400.601 错误的客户端请求 (ARR)
400.602 无效的时间格式 (ARR)
400.603 解析范围错误 (ARR)
400.604 客户离开 (ARR)
400.605 最大转发次数 (ARR)
400.606 异步竞争错误 (ARR)
502.2 地图请求失败 (ARR)
502.3 WinHTTP 异步完成失败 (ARR)
502.4 无服务器 (ARR)
502.5 WebSocket 故障 (ARR)
502.6 转发请求失败 (ARR)
502.7 执行请求失败 (ARR)
参考
有关 HTTP 状态代码定义的更多信息,请参阅HTTP/1.1:状态代码定义。

第三方信息免责声明

本文讨论的第三方产品由独立于 Microsoft 的公司制造。Microsoft 对这些产品的性能或可靠性不作任何暗示或其他形式的保证。

推荐内容
在 IIS 7 中使用跟踪对失败的请求进行故障排除
基于请求的跟踪提供了一种方法来确定您的请求究竟发生了什么以及原因,前提是您可以重现您所遇到的问题...
HTTP 错误 500.0 错误 - Internet 信息服务
本文提供了当您访问 IIS 上托管的网站时出现的 HTTP 500.0 错误的解决方案。
如何在 IIS 7.0 配置中使用锁定
本文档说明如何在服务器上锁定和解锁配置。您将了解应用程序级配置文件可以覆盖哪些设置...
访问网站时出现 HTTP 错误 404.17 - Internet Information Services
本文提供了当您访问托管在 IIS 7.0 或更高版本上的网站时出现 HTTP 错误 404.17 - Not Found 错误的解决方案。
在服务器上找不到 HTTP 错误 404 文件 - Internet 信息服务
本文针对在运行 IIS 的服务器上找不到 HTTP 错误 404 文件的问题提供了解决方案。
使用失败的请求跟踪来跟踪重写规则
IIS 7.0 及更高版本的失败请求跟踪 (FRT) 是用于解决请求处理故障的强大工具。FRT 可以与 URL 重写模块一起使用...
为 URL 重写模块创建出站规则
文档的这一部分适用于 IIS 7 的 URL 重写模块 2.0 版。本演练将指导您完成如何创建和测试...
使用 URL 重写模块
适用于 IIS 7 及更高版本的 Microsoft URL Rewrite Module 2.0 使 IIS 管理员能够创建强大的自定义规则来将请求 URL 映射到友好的 URL...

显示较少
在这篇文章中
介绍
日志文件位置
HTTP 状态码
常见的 HTTP 状态码和原因
IIS 8.0 中添加的 HTTP 子状态代码
ARR 3.0.1916 中添加的 HTTP 子状态代码

[此贴子已经被作者于2022/1/27 1:00:14编辑过]

  单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

IIS 7.0 及更高版本中的 HTTP 状态码








签名