网页中有一堆图像.
其他浏览器正在正确下载它们,但Chrome不会加载它们.
在开发人员的控制台中,它为每个图像显示以下消息:
无法加载资源
此问题仅出现在Chrome中.
它是什么?
在过去两个月中,我在Chrome的开发者控制台上收到以下错误:
net::ERR_INCOMPLETE_CHUNKED_ENCODING
Run Code Online (Sandbox Code Playgroud)
症状:
服务器环境:
在我们内部的Apache服务器上发生了这种情况.它不会发生在任何其他人身上 - 即我们的用户都没有遇到这个问题 - 我们的开发团队也没有其他人.
其他人使用完全相同的Chrome版本访问完全相同的服务器.我还尝试禁用所有扩展程序并在隐身模式下浏览 - 无效.
我使用过Firefox并且发生了同样的事情.截断的文件和诸如此类的东西.唯一的问题是,Firefox不会引发任何控制台错误,因此您需要通过Firebug检查HTTP请求以查看问题.
来自Apache的响应标头:
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:close
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Mon, 27 Apr 2015 10:52:52 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Pragma:no-cache
Server:Apache/2.2.22 (Ubuntu)
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.10-1ubuntu3.8
Run Code Online (Sandbox Code Playgroud)
在测试时,我能够通过在我的htaccess文件中强制HTTP 1.0来解决问题:
SetEnv downgrade-1.0
Run Code Online (Sandbox Code Playgroud)
这摆脱了问题.但是,通过HTTP 1.1强制HTTP 1.0不是一个合适的解决方案.
更新:因为我是唯一一个遇到此问题的人,我认为我需要花更多的时间来调查它是否是客户端问题.如果我进入Chrome的设置并使用"恢复默认设置"选项,问题将消失大约10-20分钟.然后它返回.
我正在尝试将脚本连接到Microsoft的World-Wide Telescope应用程序.后者在端口5050上侦听命令.它与浏览器在同一台机器上运行(Chrome现在,但据我所知,Firefox 7和IE 9的行为相同).
我正在使用原始html文件发送"Access-Control-Allow-Origin:*"标头,以尝试消除XSS限制作为我的问题.
我访问WWT的代码如下:
$.ajax({
type: 'POST',
url: url,
data: data,
crossDomain: true,
success: success,
dataType: dataType
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,url是"http://127.0.0.1:5050/layerApi.aspx?cmd = new&..."(显然......这里是一些额外参数的简写).
看看Chrome中的网络诊断,我可以看到:
Request URL:http://127.0.0.1:5050/layerApi.aspx?cmd=new&...
Request Headersview source
Accept:application/xml, text/xml, */*; q=0.01
Content-Type:application/x-www-form-urlencoded
Origin:http://gwheeler4
Referer:http://gwheeler4/conceptconnect.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1
Run Code Online (Sandbox Code Playgroud)
请求即将发布 - 我看到WWT创建了一个新层.但是,我没有得到回调.如果我添加一个错误回调被调用,但jqXHR对象的错误属性只是一个"错误"和状态是0.如果我看在Chrome网络请求之我见"(取消)"作为状态,并没有任何反应.
如果我使用相同的URL并将其粘贴到新的浏览器选项卡中,我可以看到响应是预期的XML.
当然,这里的一个区别是,这是一个GET而不是POST,但我已经在我的脚本中尝试过这个并没有什么区别.
我对此感到非常难过,并会欣赏任何新鲜的想法.
偶尔,我的应用程序中的Ajax调用(通过JQuery 1.8)长时间处于待处理状态(有时长达17分钟).我用谷歌搜索了所有可能的解决方案都没有用:
你知道如何解决这个问题吗?谢谢.
在下面的示例中,请求处于待处理状态17分钟(与Fiddler确认它仅在17分钟后发送).
GET http://www.mywebsite.com/foo/rest/publishers/1/packages?_=1421584749323 HTTP/1.1
Host: www.mywebsite.com
Connection: keep-alive
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36
Content-Type: application/json
Referer: http://www.mywebsite.com/foo/client/home
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,he;q=0.6,ru;q=0.4
Cookie: JSESSIONID=C668509B5AFCDEBE9C9774C4721AFB9D;
aaassz="ddss"
Run Code Online (Sandbox Code Playgroud)
见图:
