Rubyと、HerokuにデプロイされているSinatraをベースにした動作するアプリがあります。
Varnishを使用するHerokuで利用可能なHTTPキャッシングを利用したいと思います。
ヘッダーを設定する最良の方法と正しい構文がわかりません。
最良のアプローチと構文について何か考えはありますか?
before do
headers "Content-Type" => "text/html; charset=utf8"
end
get '/' do
headers['Cache-Control'] = 'public, max-age=600'
# SOME STUFF HERE
haml :home, {:layout => :layout_minfooter}
end
通常、動的に生成されたページにはキャッシュがないため、
response.headers['Cache-Control'] = 'public, max-age=300'
ヘッダーは正しい出発点です。
" Webベースのサービスを使用 "のサービスの1つを使用して、サイトから返送されたHTTPdヘッダーにそれらが表示されるかどうかを確認してください。
Sinatraでは、cache_control
メソッドを使用できます。
get '/' do
# Cache for 24 hours
cache_control :public, max_age: 86400
# Your magic goes here
end
次の構文を使用して、応答オブジェクトのヘッダーフィールドにアクセスすることもできます。
response['Cache-Control'] = 'public, max-age=600'