Суть: Нужно на клиенте скачать файл(html, css, js) только тогда когда он действительно обновился.
Допустим на index.php можно повесить non-cache. При этом скрипты и стили кешируются очень хорошо. Добавить всегда гет параметр к названию файла? Тогда суть кеша потеряется.
Так же как и index файл, мне бы хотелось скачивать документ/скрипт/стили только после их реального обновления.
Как вариант мне показалось сделать inline-script где будет запрос к серверу и как то узнать что файл обновился. При этом вычислять мд5 от файла, мне кажется плохая идея из-за постоянного дёргания файла.
Что то более менее реалистичное видется с использованием какого json карты с версиями и адресами к файалам, но пока не придумал как это реализовать
PHP
Как правильно деплоить сайт и в частности js/css файлы?
Одним из способов правильного развертывания веб-сайта и обеспечения того, чтобы клиент загружал только обновленные версии файлов, является использование сети доставки контента (CDN). CDN - это сеть серверов, которые используются для распространения контента среди пользователей в зависимости от их географического местоположения. Это может помочь повысить производительность вашего веб-сайта за счет сокращения расстояния, которое данные должны проходить между сервером и клиентом.
При использовании CDN вы можете настроить заголовки кэша для ваших файлов таким образом, чтобы клиент загружал новую версию файла только в том случае, если он был обновлен. Это можно сделать, установив заголовки "Cache-Control" и "Expires" для ваших файлов. Заголовок "Cache-Control" сообщает клиенту, как долго хранить файл в его кэше, а заголовок "Expires" сообщает клиенту, когда файл больше не действителен и его необходимо повторно загрузить.
Другой способ гарантировать, что клиент загружает только обновленные версии ваших файлов, - это использовать систему управления версиями для имен ваших файлов. Например, вместо использования файла с именем "style.css" вы могли бы использовать файл с именем "style-v1.css". Когда вы обновляете файл, вы можете увеличить номер версии (например, "style-v2.css"), чтобы клиент знал, что нужно загрузить обновленную версию. Это может быть автоматизировано с помощью процесса сборки или сценария развертывания.
Таким образом, существует несколько различных способов правильного развертывания веб-сайта и обеспечения того, чтобы клиент загружал только обновленные версии ваших файлов. К ним относятся использование CDN и настройка заголовков кэша, использование системы управления версиями для имен файлов и автоматизация процесса развертывания.
При использовании CDN вы можете настроить заголовки кэша для ваших файлов таким образом, чтобы клиент загружал новую версию файла только в том случае, если он был обновлен. Это можно сделать, установив заголовки "Cache-Control" и "Expires" для ваших файлов. Заголовок "Cache-Control" сообщает клиенту, как долго хранить файл в его кэше, а заголовок "Expires" сообщает клиенту, когда файл больше не действителен и его необходимо повторно загрузить.
Другой способ гарантировать, что клиент загружает только обновленные версии ваших файлов, - это использовать систему управления версиями для имен ваших файлов. Например, вместо использования файла с именем "style.css" вы могли бы использовать файл с именем "style-v1.css". Когда вы обновляете файл, вы можете увеличить номер версии (например, "style-v2.css"), чтобы клиент знал, что нужно загрузить обновленную версию. Это может быть автоматизировано с помощью процесса сборки или сценария развертывания.
Таким образом, существует несколько различных способов правильного развертывания веб-сайта и обеспечения того, чтобы клиент загружал только обновленные версии ваших файлов. К ним относятся использование CDN и настройка заголовков кэша, использование системы управления версиями для имен файлов и автоматизация процесса развертывания.
не вижу вообще в этом никакого смыла, бред всё это...
главное, содержание сайта, а уж то, что он остаётся в кэше, ну и пусть
главное, содержание сайта, а уж то, что он остаётся в кэше, ну и пусть
Через версию файла вручную или его md5
css/bootstrap.min.css?4.5.3
css/bootstrap.min.css?4.5.3
Дмитрий Чернышев
Кратно дублировать файлы?
Похожие вопросы
- Как правильно выбрать хостинг для использования mail() с прикрепленными файлами большого размера (100мб в среднем)?
- Web- программирование. Php (JS, HTML, CSS)
- Можно ли сделать браузернаю игру зная только HTML, CSS, PHP, MySQL(без JS), ненавижу язык JS
- Чем node.js лучше php + js (по классике) ?
- Какая разница между Node.js и PHP
- Хочу работать php программистом. Но как узнать - готов я или нет? На php же можно очень много написать, в отличие от JS.
- Зачем пхп валидации, когда хватает js?
- Как следует работать с текстовыми файлами?
- HTTP://, создание новых файлов на сервере
- Чтобы запустить сайт на PHP, необходим сервер с ОС типа Windows Server, правильно?