kolio
Гуру форума
- Регистрация
- 21 Фев 2012
- Сообщения
- 175
- Реакции
- 69
я за годы работы с юзерами понял - они тупые
даже порой контент менеджеры не знают что делает кнопка F5
так что ручная загрузка страницы в обход кеша не вариант (я имею ввиду сам html , а не картинки и скрипты)
браузеру всё равно что изменилось или нет - у него есть параметр кеширования до такого-то времени. и в этом случае он или будет тянуть с серва или нет.
он банально может игнорировать ответ от сервера или вообще даже не посылать запрос к нему
это как закешированные CSS на серве:
1. если кеш в браузере есть по CSS-ке и у неё стоит срок 2 недели то раузер даже не пытается её тянуть
2. даже если нажимаем F5 то браузер посылает в хедере HTTP If-Modified-Since ДАТА, и серв смотрит так это или нет, и решает дать ему этот CSS с кодом 200 или с кодом 304
у меня в htaccess вот так сделано:
и вот банально нажал F5 и серв сказал 304
а в кеше браузера по этому файлу вот что отложилось:
Data Size 5476
Expires Sun Nov 29 2015 12:08:25 GMT+0200
Last Fetched Wed Sep 30 2015 14:06:53 GMT+0300
Last Modified Wed Sep 30 2015 14:06:52 GMT+0300
то есть он до 29 ноября вообще не будет пытаться даже тянуть этот файл с серва
по сути это тот же подход что и у тебя, но я не делаю кеширование всему подряд на год
даже порой контент менеджеры не знают что делает кнопка F5
так что ручная загрузка страницы в обход кеша не вариант (я имею ввиду сам html , а не картинки и скрипты)
браузеру всё равно что изменилось или нет - у него есть параметр кеширования до такого-то времени. и в этом случае он или будет тянуть с серва или нет.
он банально может игнорировать ответ от сервера или вообще даже не посылать запрос к нему
это как закешированные CSS на серве:
1. если кеш в браузере есть по CSS-ке и у неё стоит срок 2 недели то раузер даже не пытается её тянуть
2. даже если нажимаем F5 то браузер посылает в хедере HTTP If-Modified-Since ДАТА, и серв смотрит так это или нет, и решает дать ему этот CSS с кодом 200 или с кодом 304
у меня в htaccess вот так сделано:
Код:
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpg "access 2 month"
ExpiresByType image/gif "access 2 month"
ExpiresByType image/jpeg "access 2 month"
ExpiresByType image/png "access 2 month"
ExpiresByType text/css "access 2 month"
ExpiresByType application/x-javascript "access plus 2 month"
ExpiresByType text/javascript "access plus 2 month"
ExpiresByType application/javascript "access plus 2 month"
ExpiresByType image/x-icon "access plus 12 month"
ExpiresByType image/icon "access plus 12 month"
ExpiresByType application/x-ico "access plus 12 month"
ExpiresByType application/ico "access plus 12 month"
</IfModule>
и вот банально нажал F5 и серв сказал 304
а в кеше браузера по этому файлу вот что отложилось:
Data Size 5476
Expires Sun Nov 29 2015 12:08:25 GMT+0200
Last Fetched Wed Sep 30 2015 14:06:53 GMT+0300
Last Modified Wed Sep 30 2015 14:06:52 GMT+0300
то есть он до 29 ноября вообще не будет пытаться даже тянуть этот файл с серва
по сути это тот же подход что и у тебя, но я не делаю кеширование всему подряд на год