在收到很高stream量的网站上,有一小部分请求是这样的:
http://cheezburger.com/ScriptResource.axd?d=zaVpgH63ePt90pn</a> <br /> <br /> <p> <a id=
在页面引用页面上有这样一行:
<script src="/ScriptResource.axd?d=zaVpgH63ePt90p8fuEYkPAKFZuziMYsiIUbmxDb-gQ23Cx78LNJNFXTqKciA4ND_frR-_r9UKsdtLPk6M08xyk6cXFSLUrbBGDlvPIf-F9w1&t=ffffffffd5e08dd5" type="text/javascript"></script>
另一对夫妇则更进一步:
<a id="login_LoginState_LoginButton" class="button1" UseSubmitBehavior="false" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("login$LoginState$LoginButton", "", true, "ctl00$Login1", "", 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设:)