在过去的两个月中,我在Chrome的开发者控制台上收到以下错误消息: net::ERR_INCOMPLETE_CHUNKED_ENCODING 症状: 页面未加载。 截断的CSS和JS文件。 页面悬挂。 服务器环境: Apache 2.2.22 PHP Ubuntu的 我们在内部的Apache服务器上发生了这种情况。 这不会发生在其他任何人身上 – 即我们的用户没有遇到这个问题 – 我们的开发团队也没有其他人。 其他人正在使用完全相同版本的Chrome浏览器访问完全相同的服务器。 我也曾尝试禁用所有扩展程序,并在隐身模式下浏览 – 无效。 我已经使用Firefox和完全相同的事情正在发生。 截断的文件和whatnot。 唯一的事情是,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 在testing时,我可以通过在htaccess文件中强制使用HTTP 1.0来解决这个问题: SetEnv […]
我正在使用播放框架,以生成分块响应。 代码是: class Test extends Controller { public static void chunk() throws InterruptedException { for (int i = 0; i < 10; i++) { String data = repeat("" + i, 1000); response.writeChunk(data); Thread.sleep(1000); } } } 当我使用浏览器访问http://localhost:9000/test/chunk ,我可以看到显示的数据每秒都在增加。 但是,当我写一个JavaScript函数来接收和处理数据时,发现它将阻塞,直到所有的数据收到。 代码是: $(function(){ $.ajax( "/test/chunked", { "success": function(data, textStatus, xhr) { alert(textStatus); } } ); }); 当收到所有数据时,我可以看到一个消息框在10秒后popup。 […]