PHP

Как правильно деплоить сайт и в частности js/css файлы?

Суть: Нужно на клиенте скачать файл(html, css, js) только тогда когда он действительно обновился.

Допустим на index.php можно повесить non-cache. При этом скрипты и стили кешируются очень хорошо. Добавить всегда гет параметр к названию файла? Тогда суть кеша потеряется.
Так же как и index файл, мне бы хотелось скачивать документ/скрипт/стили только после их реального обновления.

Как вариант мне показалось сделать inline-script где будет запрос к серверу и как то узнать что файл обновился. При этом вычислять мд5 от файла, мне кажется плохая идея из-за постоянного дёргания файла.

Что то более менее реалистичное видется с использованием какого json карты с версиями и адресами к файалам, но пока не придумал как это реализовать
Одним из способов правильного развертывания веб-сайта и обеспечения того, чтобы клиент загружал только обновленные версии файлов, является использование сети доставки контента (CDN). CDN - это сеть серверов, которые используются для распространения контента среди пользователей в зависимости от их географического местоположения. Это может помочь повысить производительность вашего веб-сайта за счет сокращения расстояния, которое данные должны проходить между сервером и клиентом.

При использовании CDN вы можете настроить заголовки кэша для ваших файлов таким образом, чтобы клиент загружал новую версию файла только в том случае, если он был обновлен. Это можно сделать, установив заголовки "Cache-Control" и "Expires" для ваших файлов. Заголовок "Cache-Control" сообщает клиенту, как долго хранить файл в его кэше, а заголовок "Expires" сообщает клиенту, когда файл больше не действителен и его необходимо повторно загрузить.

Другой способ гарантировать, что клиент загружает только обновленные версии ваших файлов, - это использовать систему управления версиями для имен ваших файлов. Например, вместо использования файла с именем "style.css" вы могли бы использовать файл с именем "style-v1.css". Когда вы обновляете файл, вы можете увеличить номер версии (например, "style-v2.css"), чтобы клиент знал, что нужно загрузить обновленную версию. Это может быть автоматизировано с помощью процесса сборки или сценария развертывания.

Таким образом, существует несколько различных способов правильного развертывания веб-сайта и обеспечения того, чтобы клиент загружал только обновленные версии ваших файлов. К ним относятся использование CDN и настройка заголовков кэша, использование системы управления версиями для имен файлов и автоматизация процесса развертывания.
Андрей ?
Андрей ?
16 137
Лучший ответ
не вижу вообще в этом никакого смыла, бред всё это...

главное, содержание сайта, а уж то, что он остаётся в кэше, ну и пусть
Через версию файла вручную или его md5
css/bootstrap.min.css?4.5.3
Дмитрий Чернышев Кратно дублировать файлы?