0

Heroku で静的アセット サーバーの Expires ヘッダーを設定しようとしていますが、これを行う方法に関する情報が見つかりません...

私が見つけたすべての情報は、Cacheヘッダーの設定方法を説明しています:

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

Expiresそれをヘッダーと呼んでいますが、それは Expires ヘッダーではありません。

アセットにExpiresヘッダーが設定されている場合、ブラウザーはキャッシュされたバージョンを使用し、新しいバージョンがあるかどうかを確認するためにサーバーにアクセスすることさえしません。

ヘッダーを使用Cacheすると、キャッシュする必要がある静的ファイルのログにヒットが表示されます。

静的アセットのExpiresヘッダーを設定するにはどうすればよいですか?

ありがとうございました!

4

1 に答える 1

2

実際には、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"
于 2015-06-06T17:58:32.487 に答える