热搜词
发表于 2012-4-5 10:56:31 | 显示全部楼层 |阅读模式
简介
  503是一种HTTP状态码。英文名503 Service Unavailable与404(404 Service Unavailable)是同属一种网页状态出错码。前者是服务器出错的一种返回状态,后者是网页程序没有相关结果后返回的一种状态,需要优化网站的时候通常须要制作404出错页以便网站整体优化。
  由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个 Retry-After起头用以标明这个延迟时间。如果没有给出这个 Retry-After信息,那么客户端应当以处理500(Server Internal Error)响应的方式处理它。

注意:503状态码的存在并不意味着服务器在过载的时候必须使用它。某些服务器只不过是希望拒绝客户端的连接。

分析
  出现503错误,其日志都是记录在%Systemroot%\System32\LogFiles\HTTPERR\httperr1.log中。
  其中的s-reason项:
  1、若为AppShutdown,可能是由于CPU占用率太高导致自动关闭应用程序池。
  2、若为AppOffline,可能是由于应用程序标识出错引起的。
  3、若为Disabled,可能是由管理员手工关闭应用程序池引起的。
  4、若为QueueFull,可能是因为请求时应用程序池队列已满而生成该错误。

网页出现503错误原因
  1、网络管理员可能关闭应用程序池以执行维护。
  2、当请求到达时应用程序池队列已满。
  3、应用程序池标识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组
  4、应用程序池启用了CPU监视,并且设置了CPU利用率超过一定百分比关闭应用程序池,而开发人员写的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从而引起应用程序池关闭
  5、应用程序池的性能选项卡的请求队列限制所填的数值太小,默认为1000。
  6、web.config的system.web/httpRuntime节点的appRequestQueueLimit属性设置的值太低。

HTTP 循环中的 503 错误
  任何客户端 在和您的网络服务器通讯时,都需经过以下循环:
  从您站点的 IP 名称 ( 即您的网页地址 - URL, 不带起始的 ‘http://') 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。 打开一个 IP socket ( 套接字 ) 连接到该 IP 地址。 通过该 socket 写 HTTP 数据流。 从您的网络服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析 该数据流得到 状态编码 和其他有用信息。 该错误在以上所述的最后一步生成,即当客户端收到 HTTP 状态编码 并识别其为 ‘503’ 时。


全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2025-1-29 07:42 , Processed in 0.185714 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2025 Discuz! Team