HTTP请求腐败(HTTP Request Corruption)

2019-08-04 05:17发布

在能获得流量非常高量的请求的一些小的百分比来这样的网站:

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压缩打开,但我不知道这是否是问题。

所以我的问题是什么是怎么回事,怎么能解决吗?

Answer 1:

看着这个错误产生的自动错误报告后,似乎大多数的这种情况出现是要通过代理客户的案件。 我认为这归结到任何一个在代理或缺陷在代理上的gzip的实现中的错误。



Answer 2:

如果你有一点时间来诊断和空闲时间这一点,我有更多的信息收集潜在的建议:

写在页面加载后的长度一个javascript检查,并确保该值是一样的东西服务器认为。 如果不是,请查看怎么回事。 你可以运行这个活,或运行对您的服务器浏览器农场寻找错误。 这依赖于JavaScript的检查越来越穿过完整的,但。

这几乎听起来像一个奇怪的网络或服务器的问题,这就是为什么我建议试图让阿霍德的客户端版的页面,看看他们有什么。



Answer 3:

可能这是由于被分块页面的传输:

使用传输编码器好像gzip段落3.5,3.6和3.6.1说说怎么HTTP页面必须进行分块,除非关闭整个页面连接后已发送。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.5

我相信,每一个块被independantly压缩,那些大块的人们可能已经变得腐败。



Answer 4:

这看起来就像IE浏览器漏洞之一。 IE6一直用gzip压缩的问题响应和IE8所引入的新问题先行下载 。

我想你可能与被处理“失踪4K臭虫”和建议的解决方法是使用一个Content-Type HTTP标头,而不是一个<meta http-equiv="Content-Type"/>标记的字符集声明。

更多链接:

  • 微软连接入口与微软响应
  • 相关问题#1
  • 微软相关连接进入
  • 我的问题是,竟然是由这个引起的


Answer 5:

困难只是看着它说。 这可能是一个框架,增加了一个会话ID为你从cookie的会话回退。 该小的比例可能是有残疾的cookies的用户?

类似的事情发生在Tomcat的与JSession ID。



Answer 6:

该“ &amp; ”是正确的。 这是在<Script>标记,以便它的确定是这样的。 检查一个支持AJAX的Asp.Net页面的源代码,你会看到它会以那种形式。

你有必要<httpHandlers>一节中的'Web.Config中'与<add verb="GET,HEAD" path="ScriptResource.axd" ... />的条目? 我只是想知道,如果你的应用程序知道如何处理个.axd文件?

@leonm - 的“d”参数是编码的资源键,通过Asp.Net AJAX加入。 该“T”是时间戳,用于确定当该组件的最后修改。



文章来源: HTTP Request Corruption