HTTP请求损坏

在收到很高stream量的网站上,有一小部分请求是这样的:

http://cheezburger.com/ScriptResource.axd?d=zaVpgH63ePt90pn</a> <br /> <br /> <p> <a id= 

在页面引用页面上有这样一行:

 <script src="/ScriptResource.axd?d=zaVpgH63ePt90p8fuEYkPAKFZuziMYsiIUbmxDb-gQ23Cx78LNJNFXTqKciA4ND_frR-_r9UKsdtLPk6M08xyk6cXFSLUrbBGDlvPIf-F9w1&amp;t=ffffffffd5e08dd5" type="text/javascript"></script> 

另一对夫妇则更进一步:

  <a id="login_LoginState_LoginButton" class="button1" UseSubmitBehavior="false" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;login$LoginState$LoginButton&quot;, &quot;&quot;, true, &quot;ctl00$Login1&quot;, &quot;&quot;, false, true))">Log In</a> <br /> <br /> <p> <a id="login_LoginState_PasswordRecoveryLink" href="/forgot.aspx">Forgot Password?</a> 

所以看起来页面的一部分已经被删除了。 IE浏览器似乎比Firefox更经常发生,但这可能是因为我们的IE浏览器stream量比FireFox多。 我们打开了HTTP压缩,但是我不知道这是否是问题。

所以我的问题是怎么回事,如何解决?

那么,所以没有得到像icanhascheezburger.com那样多的请求,这是肯定的:)但是我可以告诉你,我们确实从浏览器中获得了很less的请求,这些请求在一些根本的方面明显地被破坏了。

这通常与通过JavaScript构build的网站部分(链接,代码等)有关。

显然,浏览器已经以某种方式搞砸了JavaScript代码,导致我们返回给我们的请求被彻底打断,这是毫无意义的。 例。 为我们投票看起来像这样:

/posts/12345/vote/2

但偶尔我们会得到

/posts/true/vote/2

“真正”? WTF? 我们曾经看过这些,但现在我们简单地忽略它们。

我们在一个应用程序中看到了同样的事情, 这是一个已知的IE8问题,已经开放了一段时间 。 这是Microsoft Connect错误报告。

基本上在某种程度上,IE8只是忽略了数据包丢失,并且通过将2个数据包stream附加在一起而忽略丢失的数据包而呈现。 结果是在您的服务器上的一些搞砸的url。 由于大多数情况下数据包的大小大致相同,因此您会经常看到以一些随机脚本结尾开始的URL。

只是忽略这些请求,这很可能是由于破坏代理或DNS错误

我注意到不止一次,IE已经开始下载一个页面,然后在它完成之前就开始渲染,导致链接不正确。 在这些情况下,JS脚本通常会在页面末尾加载。 在一些较大的页面上,IE浏览器会下载大约一半的页面,尝试渲染,然后有礼貌地停止并连接到服务器,像WTF?

无论如何,在某些情况下,简单地将JS移到顶部,然后在底部sorting,sorting一些问题。

我们已经抛弃了疯狂的JS链接build设:)