2012-05-25 4 views
1

<?php
echo 'first<br>';
ob_flush();
flush();
file_get_contents("http://ttt.tt");
echo "second";
как отключить кэш хрома при использовании фрагментированного ответа

http://ttt.tt не достижим. поэтому в браузере мы можем видеть вывод «первым», а затем ждать «30 секунд»/Максимальное время выполнения каждого скрипта/будет выводиться «второе». в IE, FF, он работает нормально.
но в хроме, «первый» & & «второй» будет выводиться вместе.

мой английский - плохой. Не знаю, понимаете ли вы.

я также попытался отключить кэш браузера, как это:
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

но проблемы все еще существуют ..

+0

Настройте свой веб-сервер без кеширования. –

+0

@webbandit Header Set **? то же самое с header(); установить chache expired time? –

+0

какой у вас веб-сервер? Apache? –

ответ

0

Проблема может быть, что "Pragma: нет кэша" won` t работать каждый раз. Спецификация 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 отображать фрагментированные ответы.