Как установить заголовок Expires для моих статических активов в Heroku?
Я пытаюсь установить заголовок Expires для своего сервера статических ресурсов от Heroku, и я не нашел никакой информации о том, как это сделать...
Вся информация, которую я нашел, объясняет, как установить Cache
заголовок:
Cache-Control:public, max-age=31536000, no-transform
и относится к этому как Expires
заголовок, но это не заголовок Expires.
Когда актив имеет Expires
При установке заголовка браузер использует свою кэшированную версию и даже не попадает на сервер, чтобы проверить, есть ли новая версия.
С Cache
заголовок, я вижу хиты в моих журналах для статических файлов, которые должны быть кэшированы.
Как я могу установить Expires
заголовок, для статических активов?
Спасибо!
1 ответ
Вам больше не нужно устанавливать заголовок expires. По многим причинам, некоторые из которых связаны с CDN, существует более одного HTTP-заголовка, управляющего кэшированием актива. Это включает в себя Cache-Control, Expires, ETag и несколько действительно старых. Вам не нужны все из них. В настоящее время вам необходим Cache-Control только для достаточно современного браузера. Некоторые люди любят устанавливать Expires для совместимости. Но это немного переоценено.
Чтобы установить контроль кеша, внутри config/environment /production.rb установите эти строки
config.serve_static_assets = true
config.assets.compress = true
config.assets.compile = true
config.assets.digest = true
config.static_cache_control = "public, max-age=31536000"