Как сказать нажав «назад», чтобы загрузить кеш? - PullRequest
2 голосов
/ 17 ноября 2009

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

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

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

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

Ответы [ 2 ]

1 голос
/ 17 ноября 2009

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

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

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

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

0 голосов
/ 17 ноября 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('') дает лучший результат при попытке, например, предотвратить сброс форм при отправке пользователя после ошибки.

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

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