如何在Heroku中为我的静态资产设置Expires标头?

时间:2015-02-20 15:30:41

标签: caching heroku expires-header

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

我发现的所有信息都解释了如何设置Cache标题:

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

并将其称为Expires标题,但过期标题。

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

使用Cache标题,我在日志中看到了应该缓存的静态文件的点击次数。

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

谢谢!

1 个答案:

答案 0 :(得分:1)

您不再需要设置过期标头。由于许多原因,一些与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"