当请求过大时,为什么IIS返回代码404.13而不是代码413?

时间:2013-07-30 10:40:07

标签: asp.net http iis http-status-code-404 http-status-codes

IIS具有可配置的阈值,用于过滤掉“太大”的请求,因此可能会对服务器执行DoS操作。 Such requests yield code 404.13。然而,HTTP的代码为41 Request Entity Too Large,看起来就像这种情况一样。

为什么返回代码404而不是代码413?

1 个答案:

答案 0 :(得分:2)

我无法说为什么 IIS决定避免官方代码为"请求实体太大"并使用他们自己的版本。 IIS 7 (where 404.13 was introduced, also see here for more status codes)肯定早于RFC 2068对413的定义。有趣的是,IIS 5 and 6 used the official 413 code。如果有的话,在403(Forbidden)下子类413可能更有意义。

This IIS 7 Q&A建议您可以编写自己的HttpModule,将404.13响应转换为413响应。

旁注:根据RFC 7231,413现在被称为#34;有效负载过大"