Умное кэширование

egoriy

Новичок
Нашел на просторах рунета такую статью - "Умное кэширование" http://javascript.ru/optimize/cache-versioning
Мой вопрос касается этой ее части - "Автоматическое добавление версии в имя файла на HTML-странице" (ссылка на якорь) http://javascript.ru/optimize/cache-versioning#avtomaticheskoe-dobavlenie-versii-v-imya-fayla-na-html-stranice
В ней автор предлагает заменять имена файлов на имя файла с версией.
Допустим это работает так:
включаем "Жесткое кэширование"(описанное в этой статье немного выше http://javascript.ru/optimize/cache-versioning#zhestkoe-keshirovanie)
и тогда новые имена файлов(с версией) - автоматически кэшируются заново, тогда как старые берутся из кэша.
Но тогда получается что имена файлов на сервере тоже должны измениться(и их надо еще переименовывать).
А если использовать это вместе с предыдущим пунктом("Имя с версией -> Файл" http://javascript.ru/optimize/cache-versioning#imya-s-versiey---gt-fayl),
тогда не понятно зачем трудиться и придумывать уникальную весию имени файла - ведь достаточно добавить в него "v." напр. "/css/style.v.new.css" и все и так будет работать в рамках пункта "Имя с версией -> Файл".
Чего-то я не понимаю!
Подскажите плз!
Буду очень признателен.
 

fixxxer

К.О.
Партнер клуба
При деплое на продакшен генерируется номер версии (например, хэш из гита), при генерации ссылок на assets в урлы подставляется в урлы.
 

egoriy

Новичок
Спасибо, что откликнулись на мою тему!
при генерации ссылок на assets в урлы
намекните плз, что сие обозначает
или может есть ссылка на эту тему, если объяснять долго.
Заранее благодарен!
P.S. На всякий случай
В статье в Разделе "Имя с версией -> Файл"
применялась такая конструкция - это как иллюстрация
RewriteEngine on
# убирает версию, и заодно ставит переменную что файл версионный
RewriteRule ^/(.*\.)v[0-9.]+\.(css|js|gif|png|jpg)$ /$1$2 [L,E=VERSIONED_FILE:1]

# жестко кешируем версионные файлы
Header add "Expires" "Mon, 28 Jul 2014 23:30:00 GMT" env=VERSIONED_FILE
Header add "Cache-Control" "max-age=315360000" env=VERSIONED_FILE
 
Последнее редактирование:

fixxxer

К.О.
Партнер клуба
1) при деплое генерируется некоторый файл содержащий номер версии
2) ссылки на статику генерируется template engine который в курсе этой версии
3) этот номер подставляется во все урлы. например ?ver=$deploy_version но можно и подставлять вида /static/$version/file.ext и делать реврайт
 

egoriy

Новичок
1) при деплое генерируется некоторый файл содержащий номер версии
2) ссылки на статику генерируется template engine который в курсе этой версии
3) этот номер подставляется во все урлы. например ?ver=$deploy_version но можно и подставлять вида /static/$version/file.ext и делать реврайт
ок, ясно
 

AnrDaemon

Продвинутый новичок
Я полагаю, под "делать реврайт" понималось именно это. Либо нечто донельзя аналогичное.
 
Сверху