Хаки и Скрипты Next Generation CMS

Как выключить кеш браузера?

irbees2008 irbees2008 Опубликовано - 21 - октября Разное
3465 - 0
  • Адаптировал: irbees2008
  • Уровень сложности исполнения: Справочник

Всем привет. Сегодня в одной из групп в контакте про верстку и программирование был задан вопрос как отключить кеш в браузере? Мдаааа..
Просто удивляют люди ,тот чел постоянно меняет основную страничку в плоть до стилей и вот некоторые изменения не находят отклика, приходится чистить кеш браузера. Но суть в чем, человеку лень глянуть настройки браузера , и в конце концов есть поисковики, забил вопрос получил кучу ответов посмотрел, выбрал. Ну если нет того что нужно спрашивай у знатоков .
Ну я уже затрагивал тему кеширования на стороне пользователя, это получается тема наоборот, но и здесь есть несколько решений.

Итак приступим

1.Запрет на кэширование браузером и прокси-сервером

Код:
<meta http-equiv="Cache-Control" content="no-cache">

2.Запрет кэширования страницы, только браузером
Код:
<meta http-equiv="Cache-Control" content="private">

3.Также мы можем сообщить браузеру, сколько хранить документ в кэше. После чего, кэш будет обновлен.
Код:
<meta http-equiv="Cache-Control" content="max-age=3600, must-revalidate">

4. Тоже самое для прокси-сервера.
Код:
<meta http-equiv="Cache-Control" content="max-age=3600, proxy-revalidate">

5. Запрещаем кэширование страницы с помощью PHP, информация выводиться через header заголовки. Вот абсолютный запрет на кэш:
Код:
<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Expires: " . date("r"));
echo "<h1>", date("H:i:s"), "</h1>";
?>

6. Вариант с разрешимением кэширование только на 1 час.
Код:
<?php
/*
** Разрешаем кэширование на 1 час
*/
header("Cache-Control: public");
header("Expires: " . date("r", time() + 3600));
echo "<h1>", date("H:i:s"), "</h1>";
?>

7. Ну а теперь .htaccess
Все можно сделать на уровне конфигураций сервера Apache. Открываем конфигурационный файл Apache и наблюдаем следующую картину:
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
...
AddModule mod_expires.c
AddModule mod_headers.c

Как видите модули mod_expires и mod_headers включены.

Далее в файле .htaccess, запрещаем кэшировать выводимые данные. Файл .htaccess будет распространяться на директорию, в которой лежит, и на все субдиректории.
Код:
# Заголовок Cache-Control
<IfModule mod_headers.c>
Header append Cache-Control "no-store, no-cache, must-revalidate"
</IfModule>
# Заголовок Expires
<IfModule mod_expires.c>
ExpiresActive On ExpiresDefault "now"
</IfModule>

Полный запрет кэширования, повышает нагрузку на сервер. Лучше, установите определенное время, на которое можно кэшировать документы. Например, установим кэширование на 1 час:

Код:
# Заголовок Cache-Control
<IfModule mod_headers.c>
Header append Cache-Control "public"
</IfModule>

# Заголовок Expires
<IfModule mod_expires.c>
ExpiresActive On ExpiresDefault "access plus 1 hours"
</IfModule>

Вот и все ,пользуемся.

Можешь почитать и вот эту статейку "поменяем для сайта иконку favicon.ico"

Опрос

Ваше мнение

Какие темы вам интереснее?
Результаты

Последние комментарии

Теги

Anything in here will be replaced on browsers that support the canvas element

Статистика

  • Caйту: 4396 дней
  • Новостей: 566
  • Комменты: 257
  • Зарегистрированно : 662
  • Онлайн всего: [2]
  • Гости: [2]
  • SQL запросов: 20
  • Генерация страницы: 0.75сек
  • Потребление памяти: 6.086 Mb 
  •   Яндекс.Метрика