Как установить заголовок Expires для моих статических активов в Heroku?

Я пытаюсь установить заголовок Expires для моего сервера статических ресурсов с помощью Heroku, и я не нашел никакой информации о том, как это сделать...

Вся информация, которую я нашел, объясняет, как установить заголовок Cache:

Cache-Control:public, max-age=31536000, no-transform

и относится к нему как к заголовку Expires, но это не заголовок Expires.

Когда актив имеет установленный заголовок Expires, браузер использует его кешированную версию и даже не обращается к серверу, чтобы проверить, есть ли новая версия.

С заголовком Cache я вижу в своих журналах обращения к статическим файлам, которые должны быть кэшированы.

Как установить заголовок Expires для статических объектов?

Спасибо!


person Daniel Magliola    schedule 20.02.2015    source источник


Ответы (1)


Вам больше не нужно устанавливать заголовок expires. По многим причинам, некоторые из которых унаследованы, некоторые связаны с CDN, существует более одного HTTP-заголовка, управляющего кэшированием актива. Сюда входят Cache-Control, Expires, ETag и несколько действительно старых. Вам не нужны все из них. В наши дни вам нужен только Cache-Control для достаточно современного браузера. Некоторым людям нравится устанавливать Expires для совместимости. Но это как-то переоценено.

Чтобы установить управление кешем, внутри config/environments/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"
person user3294438    schedule 06.06.2015