我有一个MVC2网站,我们对其进行了大量的集成测试。最重要的是,我们在使用不良网址时测试行为。例如:
http://x.x.x.x/v1//Dy888/1/1234567815/swlocation?fv=24&sv2=3&sv3=5
(注意“v1”之后的两个斜杠。)
这应该产生HTTP 400,错误请求,并且在开发环境(VS2008)中,一切都按计划运行。但是在测试环境中,IIS7或MVC2以某种方式看到了这一点并且响应就像只有一个斜杠一样。它看起来太“聪明”,并通过重写请求来帮助我们。
如何将我的服务器配置为“智能”,并真正回应正确的错误?
测试服务器是带有IIS7的Windows Server 2008。
谢谢! - 尼克拉斯
答案 0 :(得分:1)
http状态代码400定义如下:
请求语法错误或者是 本质上不可能满足。
在URI中有一个额外的正斜杠(它只是整个请求的一部分)不能正确地归类为请求的语法错误,也不能使它无法满足请求,因为额外的正斜杠不会改变URI指向的位置。
我认为您的开发Web服务器行为错误,并且测试的前提是错误的。