Допустим, если bundle.js
составляет 750 КБ, правда ли, что если вы установите для него значение «никогда не истекает» или «срок действия истекает через 10 лет», тогда браузеру не нужно извлекать этот файл и, следовательно, он может ускорить ваш сайт и загрузку страниц?
(Кстати, сказано, что Cache-control: max-age
— это HTTP/1.1 и если присутствуют и он, и Expires:
, Cache-control
переопределяет заголовок Expires
.)
Что делать, если у вас еженедельный или двухмесячный цикл выпуска, следует ли установить для заголовка Expires значение 1 неделя или 2 месяца? Я подумал, что при еженедельном цикле выпуска некоторые из ваших файлов JavaScript или CSS могут остаться прежними, поэтому может быть хорошо просто установить срок их действия через 6 месяцев или даже 10 лет? (потому что через неделю он не изменился?)
Но что, если ваш файл изменился, но браузер его не извлекает? Правда ли, что если вы используете механизм ETag или если вы используете bundle.53ae823.js
или bundle.2020-03-12-08.js
, то вы можете "заставить" его истечь, если ETag отличается или имя файла отличается? Как правильно установить длину заголовка Expires?