标签:http os 使用 io strong for 文件 ar 数据
默认情况下,IIS 7.0、IIS 7.5 和 IIS 8.0 将日志文件放在以下文件夹中:
此文件夹包含每个万维网网站的单独目录。默认情况下,每天会在目录中创建日志文件,并且日志文件使用日期重命名。例如,可能按以下方式命名日志文件:
本部分描述 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 状态代码。
这些 HTTP 状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。
IIS 7.0、IIS 7.5 和 IIS 8.0 使用以下信息 HTTP 状态代码:
这些 HTTP 状态代码表明服务器成功地接受了请求。
IIS 7.0、IIS 7.5 和 IIS 8.0 使用以下成功 HTTP 状态代码:
这些 HTTP 状态代码表明客户端浏览器必须采取更多操作来实现请求。例如,客户端浏览器可能必须请求服务器上的不同页。或者,客户端浏览器可能必须通过使用代理服务器重复请求。
IIS 7.0、IIS 7.5 和 IIS 8.0 使用以下重定向 HTTP 状态代码:
这些 HTTP 状态代码表示发生错误,客户端似乎有问题。例如,客户端浏览器可能已请求不存在的页。或者,客户端未提供有效的身份验证信息。
IIS 7.0、IIS 7.5 和 IIS 8.0 使用以下客户端错误 HTTP 状态代码:
这些 HTTP 状态代码表明由于服务器遇到错误,因此无法完成请求。
IIS 7.0、IIS 7.5 和 IIS 8.0 使用以下服务器错误 HTTP 状态代码:
下表介绍了某些常见 HTTP 状态代码的原因。
代码 | 说明 | 备注 |
---|---|---|
200 | 确定 | IIS 7.0、IIS 7.5 和 IIS 8.0 成功处理了请求。 |
304 | 未修改 | 客户端浏览器请求已处于缓存中的文档,并且自从该文档被缓存后,未修改此文档。客户端浏览器使用此文档的缓存副本而不是从服务器下载文档。 |
400 | 错误请求 | 由于请求中存在问题,Http.sys 文件阻止 IIS 7.0、IIS 7.5 和 IIS 8.0 处理请求。通常,此 HTTP 状态代码表示请求包含无效的字符或序列或请求与 Http.sys 文件中的安全设置相矛盾。 |
401.1 | 登录失败 | 登录尝试不成功,其可能的原因在于用户名或密码无效。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942044
(http://support.microsoft.com/kb/942044/zh-cn/ )
当您试图运行以 IIS 7.0 为宿主的 Web 应用程序时出现错误消息:“HTTP 错误 401.1 - 未找到” |
401.2 | 服务器配置导致登录失败 | 此 HTTP 状态代码表明服务器上身份验证配置设置中出现问题。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942043
(http://support.microsoft.com/kb/942043/zh-cn/ )
当您试图访问以 IIS 7.0 为宿主的网页时出现错误消息:“HTTP 错误 401.2 - 未授权” |
401.3 | 由于 ACL 对资源的限制而未获得授权。 | 此 HTTP 状态代码表明 NTFS 文件系统权限中存在问题。即使您试图访问的文件权限正确,也可能会发生此问题。例如,IUSR 帐户没有到 C:\Winnt\System32\Inetsrv 目录的访问权限,则会发生此问题。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942042
(http://support.microsoft.com/kb/942042/zh-cn/ )
当您试图浏览以运行 IIS 7.0 的服务器为宿主的网页时出现错误消息:“HTTP 错误 401.3 - 未授权” |
401.4 | 筛选器授权失败 | 由于授权问题,ISAPI 筛选器不允许处理请求。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942079
(http://support.microsoft.com/kb/942079/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 401.4 - 筛选器授权失败” |
401.5 | ISAPI/CGI 应用程序授权失败 | 由于授权问题,ISAPI 应用程序或通用网关接口 (CGI) 应用程序不允许处理请求。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942078
(http://support.microsoft.com/kb/942078/zh-cn/ )
当您访问以运行 IIS 7.0 的计算机为宿主的网站时出现错误消息:“HTTP 错误 401.5 - ISAPI/CGI 应用程序授权失败” |
403.1 | 执行访问被禁止 | 不会授予执行权限相应的级别。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942065
(http://support.microsoft.com/kb/942065/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.1 - 禁止访问” |
403.2 | 读取访问被禁止 | 不会授予读取权限相应的级别。验证您是否已设置 IIS 7.0、IIS 7.5 和 IIS 8.0 授予到目录的读取权限。此外,如果您使用默认的文档,则验证该默认文档是否存在。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942036
(http://support.microsoft.com/kb/942036/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.2 - 禁止访问” |
403.3 | 写入访问被禁止 | 不会授予写入权限相应的级别。验证是否已设置 IIS 7.0、IIS 7.5 和 IIS 8.0 权限和 NTFS 文件系统权限以授予到目录的写入权限。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942035
(http://support.microsoft.com/kb/942035/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.3 - 禁止访问” |
403.4 | 要求 SSL | 通过一个不安全的通道进行请求,并且 Web 应用程序需要安全套接字层 (SSL) 连接。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942070
(http://support.microsoft.com/kb/942070/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.4 - 禁止访问” |
403.5 | 要求 SSL 128 | 服务器配置为需要 128 位 SSL 连接。但是,请求不会使用 128 位加密进行发送。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942069
(http://support.microsoft.com/kb/942069/zh-cn/ )
当您试图浏览以 IIS 7.0 为宿主的网页时出现错误消息:“HTTP 错误 403.5 - 禁止访问” |
403.6 | IP 地址被拒绝 | 服务器配置为拒绝到当前 IP 地址的访问。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942068
(http://support.microsoft.com/kb/942068/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.6 - IP 地址被拒绝” |
403.7 | 需要客户端证书 | 服务器配置为需要证书进行客户端身份验证。但是,客户端浏览器未安装相应的客户端证书。有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942067
(http://support.microsoft.com/kb/942067/zh-cn/ )
当您试图运行以运行 IIS 7.0 的服务器为宿主的 Web 应用程序时出现错误消息:“HTTP 错误 403.7 - 禁止访问” |
403.8 | 站点访问被拒绝 | 根据客户端计算机的域名系统 (DNS) 名称将服务器配置为拒绝请求。有关如何解决此问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942066
(http://support.microsoft.com/kb/942066/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.8 - 禁止访问” |
403.12 | 拒绝访问映射表 | 您希望访问的页需要客户端证书。但是,拒绝映射到客户端证书的用户 ID 访问该文件。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942064
(http://support.microsoft.com/kb/942064/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.12 - 拒绝客户端证书” |
403.13 | 客户端证书被吊销 | 客户端浏览器试图使用证书颁发机构吊销的客户端证书。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942063
(http://support.microsoft.com/kb/942063/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.13 - 禁止访问” |
403.14 | 拒绝目录列表 | 该服务器配置为不显示内同目录列表,并且未设置默认文档。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942062
(http://support.microsoft.com/kb/942062/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.14 - 禁止访问” |
403.16 | 客户端证书不受信任或无效。 | 客户端浏览器试图使用运行 IIS 7.0、IIS 7.5 或 IIS 8.0 的服务器不信任的或无效的客户端证书。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942061
(http://support.microsoft.com/kb/942061/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.16 - 禁止访问” |
403.17 | 客户端证书已过期或尚未生效。 | 客户端浏览器试图使用已过期或尚未生效的客户端证书。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942038
(http://support.microsoft.com/kb/942038/zh-cn/ )
当您试图访问以 Internet Information Services 7.0 为宿主的网页时出现错误消息:“HTTP 错误 403.17(未授权)- 客户端证书已过期” |
403.18 | 在当前的应用程序池中不能执行所请求的 URL。 | 已配置自定义错误页,并且自定义错误页驻留在一个与所请求的 URL 的应用程序池不同的应用程序池中。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942037
(http://support.microsoft.com/kb/942037/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.18 - 禁止访问” |
403.19 | 在此应用程序池中不能执行客户端浏览器的 CGI 应用程序。 | 应用程序池的标识没有替换进程级别令牌用户权限。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942048
(http://support.microsoft.com/kb/942048/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 403.19 - 禁止访问” |
404.0 | 未找到。 | 您试图访问的文件已移动或不存在。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942041
(http://support.microsoft.com/kb/942041/zh-cn/ )
当您试图打开以 IIS 7.0 为宿主的网页时出现错误消息:“HTTP 错误 404.0 - 未找到” |
404.2 | ISAPI 或 CGI 限制。 | 所请求的 ISAPI 资源或所请求的 CGI 资源在计算机上收到了限制。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942040
(http://support.microsoft.com/kb/942040/zh-cn/ )
当您试图访问以运行 IIS 7.0 的计算机为宿主的网页时出现错误消息:“HTTP 错误 404.2 - 未授权” |
404.3 | MIME 类型限制。 | 所请求的扩展类型的当前 MIME 映射无效或未配置。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942032
(http://support.microsoft.com/kb/942032/zh-cn/ )
当用户访问以运行 Internet Information Services 7.0 的服务器为宿主的网站时出现错误消息:“HTTP 错误 404.3 - 未找到” |
404.4 | 未配置处理程序。 | 所请求的 URL 的文件名扩展没有配置用于处理 Web 服务器上的请求的处理程序。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942052
(http://support.microsoft.com/kb/942052/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 404.4 - 未找到” |
404.5 | 被请求筛选器配置拒绝。 | 所请求的 URL 包含服务器阻止的字符序列。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942053
(http://support.microsoft.com/kb/942053/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 404.5 - 拒绝 URL 序列” |
404.6 | 动词被拒绝。 | 使用未配置的或无效的 HTTP 动词进行请求。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942046
(http://support.microsoft.com/kb/942046/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 404.6 - VERB_DENIED” |
404.7 | 文件扩展名被拒绝。 | 不允许资源文件名扩展。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942045
(http://support.microsoft.com/kb/942045/zh-cn/ )
当您试图浏览以 IIS 7.0 为宿主的网页时出现错误消息:“HTTP 错误 404.7 - FILE_EXTENSION_DENIED” |
404.8 | 隐藏的命名空间。 | 由于目录被隐藏,因此所请求的 URL 被拒绝。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942047
(http://support.microsoft.com/kb/942047/zh-cn/ )
当您试图访问以 IIS 7.0 为宿主的网页时出现错误消息:“HTTP 错误 404.8 - HIDDEN_NAMESPACE” |
404.9 | 文件属性被隐藏。 | 所请求的文件被隐藏。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942049
(http://support.microsoft.com/kb/942049/zh-cn/ )
当您试图访问以 IIS 7.0 为宿主的网页时出现错误消息:“HTTP 错误 404.9 - 文件属性被隐藏” |
404.10 | 请求标头太长。 | 由于请求标头太长,请求被拒绝。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942077
(http://support.microsoft.com/kb/942077/zh-cn/ )
当您访问以运行 Internet Information Services 7.0 的服务器为宿主的网站时出现错误消息:“HTTP 错误 404.10 - REQUEST_HEADER_TOO_LONG” |
404.11 | 请求包含双转义序列。 | 请求包含双转义序列。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942076
(http://support.microsoft.com/kb/942076/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 404.11 - URL_DOUBLE_ESCAPE” |
404.12 | 请求包含高位字符。 | 请求包含高位字符,但是服务器配置为不允许高位字符。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942075
(http://support.microsoft.com/kb/942075/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 404.12 - URL_HAS_HIGH_BIT_CHARS” |
404.13 | 内容长度太大。 | 请求包含内容长度标头。内容长度标头的值大于服务器允许的限制。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942074
(http://support.microsoft.com/kb/942074/zh-cn/ )
当您访问以运行 Internet Information Services 7.0 的服务器为宿主的网站时出现错误消息:“HTTP 错误 404.13 - CONTENT_LENGTH_TOO_LARGE” |
404.14 | 请求 URL 太长。 | 所请求的 URL 超出服务器允许的限制。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942073
(http://support.microsoft.com/kb/942073/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 404.14 - URL_TOO_LONG” |
404.15 | 查询字符串太长。 | 请求包含长于服务器允许的限制的查询字符串。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942071
(http://support.microsoft.com/kb/942071/zh-cn/ )
当您访问以运行 IIS 7.0 的服务器为宿主的网站时出现错误消息:“HTTP 错误 404.15 - 未找到” |
404.17 | 映射到静态文件处理程序的动态内容。 | 有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2019689
(http://support.microsoft.com/kb/2019689/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 404.17 - 未找到” |
405.0 | 不允许的方法。 | 通过使用无效的 HTTP 方法进行该请求。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942051
(http://support.microsoft.com/kb/942051/zh-cn/ )
当用户访问以运行 Internet Information Services 7.0 的服务器为宿主的网站时出现错误消息:“HTTP 错误 405.0 - 不允许的方法” |
406.0 | 无效的 MIME 类型。 | 通过使用包含无效的 MIME 值的接收标头进行该请求。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942050
(http://support.microsoft.com/kb/942050/zh-cn/ )
当您访问以运行 Internet Information Services 7.0 的服务器为宿主的网站时出现错误消息:“HTTP 错误 406 - 不接受” |
412.0 | 前提条件失败。 | 通过使用包含无效值 If-Match 请求标头进行该请求。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942056
(http://support.microsoft.com/kb/942056/zh-cn/ )
当您访问以 Internet Information Services 7.0 为宿主的网站时出现错误消息:“HTTP 错误 412 - 前提条件失败” |
500 | 内部服务器错误。 | 由于许多服务器端原因,此 HTTP 状态代码可能会发生。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942031
(http://support.microsoft.com/kb/942031/zh-cn/ )
当您访问以 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、IIS 7.5 或 IIS 8.0 Web 应用程序可以处理的数目。由于将性能配置设置设置得太低、硬件不足或 IIS 7.0、IIS 7.5 或 IIS 8.0 Web 应用程序中出现瓶颈,因此可能会发生此问题。常规故障排除方法用于发生错误时生成 IIS 7.0、IIS 7.5 或 IIS 8.0 进程的内存转储文件,然后调试内存转储文件。 |
500.15 | 不允许直接请求 Global.asax。 | 直接请求 Global.asa 文件或 Global.asax 文件。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942030
(http://support.microsoft.com/kb/942030/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 500.15 - 不允许直接请求 Global.asa” |
500.19 | 配置数据无效。 | 由于相关联的 Applicationhost.config 文件或相关联的 Web.config 文件中出现此问题,因此会出现此 HTTP 状态代码。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942055
(http://support.microsoft.com/kb/942055/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 500.19 - 内部服务器错误” |
500.100 | 内部 ASP 错误。 | 在处理 Active Server Pages (ASP) 页期间发生错误。若要获取有关错误的具体信息,请禁用 Web 浏览器中的友好 HTTP 错误消息。此外,IIS 日志可能会显示与发生的错误相应的 ASP 错误号。有关 ASP 错误消息和 ASP 错误消息意义的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
294271
(http://support.microsoft.com/kb/294271/zh-cn/ )
ASP 错误代码 |
501.0 | 未实现。 | 客户端浏览器发送 HTTP-Trace 动词,服务器未配置为处理 HTTP-Trace 动词。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942058
(http://support.microsoft.com/kb/942058/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 501.0 - 未实现” |
502.1 | CGI 应用程序超时。 | CGI 应用程序未返回配置的时间限制中有效的 HTTP 响应。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942059
(http://support.microsoft.com/kb/942059/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 502.1 - 网关错误” |
502.2 | 网关错误:过早退出 | CGI 应用程序返回对运行 IIS 7.0、IIS 7.5 或 IIS 8.0 的服务器无效的 HTTP 响应。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
942057
(http://support.microsoft.com/kb/942057/zh-cn/ )
当您访问以 IIS 7.0 为宿主的网站时出现错误消息:“HTTP 错误 502.2 - 网关错误” |
503.0 | 服务不可用。 | 将该请求发送到当前停止的或当前禁用的应用程序池。若要解决此问题,请确保已启动目标应用程序池。事件日志可能会提供应用程序池停止或禁用的原因的信息。 |
503.2 | 超出并发请求限制。 | appConcurrentRequestLimit 属性设置为低于并发请求当前数的值。IIS 7.0、IIS 7.5 和 IIS 8.0 不允许高于 appConcurrentRequestLimit 属性值的并发请求数。 |
标签:http os 使用 io strong for 文件 ar 数据
原文地址:http://www.cnblogs.com/wolfplan/p/3938364.html