是否有一组标准的HTTP 500.xx代码?

时间:2012-12-10 16:25:55

标签: http rest web

我见过服务器返回500个内部服务器错误代码,并在十进制分隔的子代码中添加额外的“详细信息”,例如: 500.19。

这个子代码是标准化的还是我可以自由使用它?如何防止在IIS或ASP.NET中崩溃到供应商代码?

2 个答案:

答案 0 :(得分:3)

  

这个子代码是标准化的还是我可以自由使用它?

无法使用它,引用RFC 2616

  

Status-Code元素是一个3位整数

MSDN对HttpResponse.SubStatusCode

  

无论是否配置了跟踪,代码永远不会作为对请求的最终响应的一部分发送

因此,它仅用于记录和故障排除,而不是发送给客户端。

答案 1 :(得分:0)

有一个 Microsoft 标准列表。见 - http://support.microsoft.com/kb/943891

  

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错误。
    •   
  •