我遇到了网络浏览器缓冲问题(不是chaching)。
我称之为php脚本:
sleep(5);
echo '1st step';
echo (str_repeat(' ',256));
sleep(5);
echo '<br />';
echo '2nd step';
在php上禁用输出缓冲区(我们稍后会确认)
使用Chromium 12和Firefox 5调用此脚本时 我得到了这个结果:
<等待'动画圆圈(灰色的)在〜5秒内运行 然后'转移'动画圈(橙色)在〜5秒内运行 最后我显示了整个结果。我的初步目标是,如您所料,等待5秒,然后看到“第一步”显示, 再次等待5秒,然后显示“第二步”。
线索信息
php或apache在动画圆圈切换时不会缓冲任何内容 5秒后“等待”'接收'(所以浏览器确实收到了一些东西 从“第一步”回声!)
我尝试将Firefox缓存大小设置为0,以便绕过缓存机制..但仍无法正常工作。
我读到有些浏览器可能会等到它们开始显示内容之前收到256个字节。这就是为什么我添加“echo(str_repeat('',256))”..但它没有解决任何问题。
我还尝试在firefox中设置network.buffer.cache.count和network.buffer.cache.size选项为:about,我不知道这些选项是否与我的问题有关但是它仍然没有工作..
有什么想法吗?
谢谢,
答案 0 :(得分:3)
哦,我想我需要回答一个答案,而不是评论,所以你可以接受它。
HTML5字符集嗅探缓冲区大小为512字节。因此响应需要具有512字节的填充或设置字符集(通过<meta>
标记或HTTP标头)。