The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема кеширования js и css"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [ Отслеживать ]

"Проблема кеширования js и css"  
Сообщение от Bayly (ok) on 08-Дек-08, 04:03 
Опишу проблему. Есть достаточно посещаемый ресурс. Понятное дело, что в htaccess настроено кеширование js и css файлов.
Например:Header set Cache-Control "max-age=604800, public"
Это ощутимо ускоряет отображение страниц. Но периодически на сайте проводяться разные работы, что-то меняется. В результате содержимое этих самых js и css файлов дополняется. Пользователь, у которого они закешированы старые версии в результате видит ошибки джаваскрипта или подгулявшую верстку.

Итак вопрос. Как сохранить кеширование, но чтобы загружались новые версии файлов css/js, как только они изменятся?
Понятно, что можно отключить кеширование по времени и сервер будет ориентироваться на значение ETAG, но хочется избежать и таких HTTP запросов тоже.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема кеширования js и css"  
Сообщение от Pilgrim (??) on 08-Дек-08, 07:23 
>Итак вопрос. Как сохранить кеширование, но чтобы загружались новые версии файлов css/js,
>как только они изменятся?
>Понятно, что можно отключить кеширование по времени и сервер будет ориентироваться на
>значение ETAG, но хочется избежать и таких HTTP запросов тоже.

Если не видел, почитай: http://developer.yahoo.com/performance/rules.html#expires

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Проблема кеширования js и css"  
Сообщение от Artyk (ok) on 11-Дек-08, 19:42 
>Итак вопрос. Как сохранить кеширование, но чтобы загружались новые версии файлов css/js,
>как только они изменятся?
>Понятно, что можно отключить кеширование по времени и сервер будет ориентироваться на
>значение ETAG, но хочется избежать и таких HTTP запросов тоже.

При подключении CSS+JS файлов в HTML добавляй в путь дату модификации файла.
Например, http://URL/mu.js?ver=123456, где 123456 берем из filemtime($filename).

Пока файл не изменялся, действует кеширование. Как только файл обновился — он будет перечитан заново. Не забываем очищать кеш HTML страниц перед этим, если он, конечно, реализован. Проблемы как рукой снимет ;-)
По крайней мере, такую реализацию я видел в FarbaSite cms.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру