IIS具有可配置的阈值,用于过滤掉“太大”的请求,因此可能会对服务器执行DoS操作。 Such requests yield code 404.13。然而,HTTP的代码为41 Request Entity Too Large
,看起来就像这种情况一样。
为什么返回代码404而不是代码413?
答案 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;有效负载过大"