【问题标题】:How to set an Expires header for my static assets in Heroku?如何在 Heroku 中为我的静态资产设置 Expires 标头?
【发布时间】:2015-06-07 02:03:34
【问题描述】:

我正在尝试通过 Heroku 为我的静态资产服务器设置 Expires 标头,但我没有找到有关如何执行此操作的任何信息...

我找到的所有信息都解释了如何设置 Cache 标头:

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

并将其称为Expires 标头,但不是 Expires 标头。

当资产设置了Expires 标头时,浏览器会使用其缓存版本,甚至不会访问服务器来检查是否有新版本。

使用 Cache 标头,我在日志中看到了应缓存的静态文件的命中。

如何为 静态 资产设置 Expires 标头?

谢谢!

【问题讨论】:

    标签: caching heroku expires-header


    【解决方案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"
    

    【讨论】:

      猜你喜欢
      • 2012-08-20
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-19
      • 2011-01-12
      • 1970-01-01
      相关资源
      最近更新 更多