Как сказать, нажав назад, чтобы загрузить кеш?

Я понимаю, что вы не можете на 100% знать, что это будет работать во всех браузерах. Меня волнуют только IE 8, Chrome и Firefox. Мне нужны некоторые базовые заголовки, которые я могу разместить в верхней части своих PHP-страниц, чтобы кнопки «Вперед/Назад» загружали кеш.

Обновление: на каждой странице вверху страницы у меня есть окно пользователя, вошедшего в систему, которое дает пользователю доступ к своей учетной записи.

Я ищу увеличение производительности на веб-сайте. Пользователь, вынужденный перезагружать сайт при нажатии назад/вперед, создает ненужную нагрузку на сервер.

Изменить: после обширных исследований кэширования и моего уровня знаний я не знаю хорошего решения. Также кажется, что большинство других тоже не знают.


person Webnet    schedule 17.11.2009    source источник


Ответы (2)


Что вы хотите, так это вернуться в кеш страницы. Существуют различные переменные, которые определяют, помещается ли страница в кэш страниц.

Surfin' Safari недавно написал блог о кеш страницы. Короче говоря, страница не помещается в него, если:

  • Страница загружена не полностью или неинтересна. (404 ошибки…)
  • Страница сложно остановить. Это в том случае, если в нем есть элементы Flash или видеоролики.
  • На странице есть рамки.
  • Страница защищена.
  • На странице есть событие выгрузки. В своем втором сообщении в блоге они пишут об альтернативах.

Это правила, которым следует Webkit, я не знаю, задокументированы ли они для других браузеров. Вы никогда не можете быть уверены, что страница помещена в кэш страниц. Лучше всего разрабатывать веб-сайты, которые не зависят от поведения, которое может измениться без предварительного уведомления.

person Georg Schölly    schedule 17.11.2009

Вы используете сеансы? Если да, то перед вызовом session_start() вызовите session_ cache_ limiter('') .

Когда вы вызываете session_start(), ограничитель кеша сбрасывается до значения, установленного в session.cache_limiter (которое по умолчанию равно 'nocache'). Если вы хотите, чтобы ваши страницы кешировались, вам нужно сначала явно установить ограничитель кеша на что-то другое.

Вы можете поэкспериментировать с другими значениями (см. http://www.php.net/manual/en/function.session-cache-limiter.php), но я считаю, что session_ cache_ limiter('') дает лучший результат при попытке, например, предотвратить сброс форм при отправке пользователя обратно после ошибки .

Хотя имейте в виду, что это может вызвать проблемы с конфиденциальностью, если ваши страницы содержат личные данные, поскольку персонализированные страницы будут кэшироваться.

person Rob    schedule 17.11.2009