HTTP 请求损坏

HTTP 请求损坏

在一个流量非常大的网站上,有一小部分请求是这样的:

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 流量比 FireFox 多。我们已打开 HTTP 压缩,但我不知道这是否是问题所在。

所以我的问题是发生了什么事以及如何解决?

答案1

好吧,SO 没有像 icanhascheezburger.com 那样收到那么多请求,这是肯定的 :) 但我可以告诉你,我们确实收到过来自明显在某些基本方面存在问题.. 的浏览器的罕见请求。

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

显然,浏览器不知怎么搞砸了 JavaScript 代码,导致返回给我们的请求完全不合理。示例。我们的投票如​​下所示:

/posts/12345/vote/2

但偶尔我们会得到

/posts/true/vote/2

“真的”?什么鬼?我们以前会关注这些,但现在我们干脆忽略它们。

答案2

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

基本上,在某种程度上,IE8 只是忽略数据包丢失,并通过将 2 个数据包流附加在一起并忽略丢失的数据包流来进行渲染。结果就是您的服务器上出现了一些混乱的 URL。由于数据包在大多数情况下大小大致相同,因此您经常会看到以相同大小开头但以一些随机脚本结尾的 URL。

答案3

忽略请求,这很可能是由于代理损坏或 DNS 故障造成的

答案4

我注意到 IE 不止一次开始下载页面,然后在完成之前就开始渲染,导致链接无法正确形成。通常,在这种情况下,JS 脚本会在页面末尾加载。在一些较大的页面上,IE 会下载大约一半的页面,尝试渲染,然后礼貌地停止并断开与服务器的连接,这是什么鬼?

无论如何,在某些情况下,只需将 JS 包含移到顶部,然后将启动移到更靠近底部的位置即可解决一些问题。

我们已经抛弃了 js 链接建设的疯狂 :)

相关内容