Как установить заголовок 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"
Другие вопросы по тегам