我发现 IIS7、7.5 和 8(也可能是以前的版本)在遇到任何包含%09
不属于查询字符串的 URL 时会快速失败。
StackOverflow 本身表现出相同的行为,请注意:
http://www.stackoverflow.com/questions/%09
这对我的应用程序来说很烦人,因为我已经构建了一个 Web 服务,它应该text/xml
为每个请求(甚至是无效请求)返回,其中包含包含错误代码的特定 XML 文档格式。我发现一些 web 服务客户端将%09
(通常由用户复制和粘贴)传递给我的服务,但我的服务器返回一个丑陋的 HTML 响应,似乎硬编码到 HTTP.SYS 中(我覆盖了 HTTP 400 错误响应IIS,但它没有效果)。
错误请求 - 无效的 URL
HTTP 错误 400。请求 URL 无效。
有什么解决方法或解决方案吗?
备忘录:
为了比较:
- Google 正确提供 HTTP 404:https: //www.google.com/%09
- Apache 似乎让 MediaWiki 处理错误:http ://en.wikipedia.org/wiki/Foo%09
- IIS 没有:http ://microsoft.com/download/%09