LINUX.ORG.RU

Проблема с кэшированием изображений в IE


0

0

имеется таблица в которой отображаютса thumbnail-ы как результат работы php скрипта.
Их може быть до 50 штук, обычно 20.

FF их грузит ОДИН раз и кэширует - при повторном показе не приходится ждать закрузки.

В IE 6/7 загрузка идет каждый раз!

Заголовок:

header('Location: ' . UPLOADS_TMP_PATH . '/' . $thumb->getCachedFilename());
die();

anonymous
Ответ на: комментарий от phasma

Ну скажем так - тоже не помогает!

header("Expires: 0");
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+24*60*60) . ' GMT');
// standard Location redirect
header('Location: ' . $thumb->getCachedFilename());

Причем проблема именно в IE и не у меня одного;
http://forums.devnetwork.net/viewtopic.php?f=1&t=87923

В FF/Opera - все ОК.

anonymous
()
Ответ на: комментарий от phasma

Скажи правильное и точное решение.

В гугле якобы известна эта проблема IE, но решение я смог найти.

Все только - fucking IE, fucking IE...

anonymous
()
Ответ на: комментарий от borisych

как это влияет на кэширование?

лучше ответьте на вопрос: чем в FF отличается memory-кэш (именно там он хранит динамически сфромированные изображения) от кэша на диске (дам - остальне элементы)?

anonymous
()
Ответ на: комментарий от anonymous

почтиайте про заголовок Last-Modified и про запрос If-Modified-since, IE вполне нормально их обрабатывает, а вот вы код пишете неправильно

borisych ★★★★★
()
Ответ на: комментарий от borisych

Почитал, написал - та же самая хрень в IE:

FF/Opera глотают без выкрутасов.

$headers=apache_request_headers();
$if_modified_since=preg_replace('/;.*$/', '', $headers['If-Modified-Since']);
$lastModified = gmdate("D, d M Y H:i:s",filemtime($fileName))." GMT";
if(!$if_modified_since) {
if ($if_modified_since == $lastModified) {
header("HTTP/1.1 304 Not Modified");
exit;
}
}
header("Last-Modified: ".$lastModified);
header('Location: ' . $thumb->getCachedFilename());
die();

anonymous
()
Ответ на: комментарий от anonymous

>Редирект - это неправильное изначально решение?

конечно, тот же апач если работает в keepalive если отдает 302, то соединение рвется. ваша беда, ну еще много чего.

borisych ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.