2012-05-25 73 views
1

<?php
echo 'first<br>';
ob_flush();
flush();
file_get_contents("http://ttt.tt");
echo "second";
如何禁用鉻緩存時使用分塊響應

http://ttt.tt不可達。所以在瀏覽器中我們可以看到輸出「第一個」,然後等待「30s」/ 每個腳本的最大執行時間爲 /那裏將輸出「秒」。在IE,FF中爲 ,它工作正常。
但在鉻,「第一」& &「第二」將一起輸出。

我的英語是bad.i不知道你是否理解。help!

我也試圖取消這些瀏覽器的緩存:
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

,但問題依然存在..

+0

配置您的Web服務器沒有緩存。 –

+0

@webbandit標題集**?與header()相同;設置chache過期時間? –

+0

你有什麼網站服務器? Apache的? –

回答

0

問題可能是 「雜注:無緩存」 won`每次都工作。 HTTP規範沒有爲Pragma響應頭設置任何指導原則。嘗試使用「過期」。

如果您需要更多信息,這裏是link to web caching tutorial

1

您不需要禁用緩存。這完全是關於內容類型編碼。我壓根兒是:

header('Content-Type: text/html; charset=UTF-8'); 

最初,它是:

header('Content-Type: text/html'); 

...沒有工作。指定「charset = UTF-8」立即強制Chrome呈現分塊響應。