2011-08-02 52 views
1

我在Web浏览器缓冲(不chaching)时遇到问题。在Firefox(或其他浏览器)中禁用接收缓冲区

我称之为PHP脚本:

sleep(5); 
echo '1st step'; 
echo (str_repeat(' ',256)); 
sleep(5); 
echo '<br />'; 
echo '2nd step'; 

输出缓冲器PHP的禁止(我们将确认后)

含铬12和Firefox 5 都调用此脚本时

我得到这个结果:

'等待'动画圈(灰色)在〜5秒内运行 然后'转移'动画圈(橙色圈)在~5秒内运行 最后我有t他显示了整个结果。

我的初始目标是,如您所期望的,等待5秒,然后看到“第一步”显示, 再次等待5秒,然后看到“第二步”显示。

线索

  • PHP或5秒后,Apache并不 任何缓冲的动画圆开关“等待”到“recieving”(这样浏览器就没有收到来自“第一届东西 一步“回声!)

    • 我试图设置Firefox缓存大小为0,所以缓存机制将被绕过..但仍然没有工作。

    • 我读过一些浏览器可能会等到他们收到256字节才开始显示内容。这就是为什么我添加“echo(str_repeat('',256))”..但它不能解决任何问题。

    • 我也尝试在firefox中设置network.buffer.cache.count和network.buffer.cache.size选项为0:config,我不知道这些选项是否与我的问题相关,但它是仍然没有工作..

任何想法?

感谢,

+0

我相信256号码需要512.或者你需要一个元标记或HTTP头声明字符集。你搞乱的缓存设置与缓存HTML无关;我强烈建议将缓冲区高速缓存的数量和大小恢复为默认值,因为这是用于necko的内部内存缓冲区缓存。 –

+0

你是对的!我最初的信息太短.. 谢谢! (我该如何设置你的回复为好? 以及我如何关闭这个问题? 我不熟悉这个论坛) – maigre

+0

我认为应该有一个“接受”按钮的问题。这就是你们如何将我的反应设定为好的并回答问题。我从来没有试过实际问过一个问题,所以不确定。 ;) –

回答

3

哦,我想我需要答案的答案,而不是评论,所以你可以接受它。

HTML5字符集嗅探缓冲区大小为512字节。因此,响应需要填充512字节或设置字符集(通过<meta>标记或HTTP标头)。

+0

谢谢鲍里斯;) – maigre

相关问题