HTTP кеширование, странности браузеров и все остальное! - PullRequest
0 голосов
/ 28 ноября 2008

Вчера я пытался серьезно отнестись к правильному кэшированию некоторых страниц, сгенерированных PHP (например, «Статьи с комментариями»). Большой провал.

Короче говоря: я установил заголовок ETag, установил последний измененный и проверял на стороне сервера каждый запрос браузера Article с ними, чтобы посмотреть, смогу ли я отправить обратно 304.

Проблема проста: браузер (до сих пор пробованный с FF 3) после 1 или 2 перезагрузок неожиданно прекращает проверку свежести страницы и использует ее кэшированную копию.

Насколько я понял, используя ETag и Last-Modified, браузер ДОЛЖЕН проверять сервер при каждом запросе (в противном случае, зачем вообще использовать ETag?).

Я также пытался играть с Cache-Control или Expires ... ничего. Так или иначе браузер прекращает проверку или не отправляет обратно ETag ...

Я действительно расстроен ... кто-нибудь случайно разбирался с этой штукой?

Ответы [ 2 ]

3 голосов
/ 28 ноября 2008

Вы должны всегда устанавливать «Истекает», если вы хотите, чтобы браузер повторно проверил.

Проверка Firefox3 основана на заголовке «Expires». Если он отсутствует, firefox3 определит срок действия для исполнения.

Ссылка, Разница между Firefox и т. Е. Кеширование

0 голосов
/ 02 декабря 2008

Вы можете проверить текущие записи кэша FF на

about:cache

Это покажет вам даты истечения срока хранения FF, сохраненного с каждой записью в кэше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...