Ho un'applicazione abbastanza semplice (solo un file index.html
e un file css - è davvero solo una pagina statica) ospitata su Heroku.Come impostare le intestazioni della risposta HTTP (cache) in un'app Sinatra ospitata su Heroku
Io uso Sinatra per ospitarlo su Heroku. La 'app' è piuttosto semplice:
require 'rubygems'
require 'sinatra'
get "/" do
File.read(File.join('public', 'index.html'))
end
La domanda è, come si imposta l'intestazione della risposta HTTP per le risorse statiche? In particolare, volevo impostare l'intestazione Expires
per scopi di memorizzazione nella cache.
EDIT: Sto cercando di aggiungere al collettore stesso ai beni statici (per esempio, quella che risiede sotto /public
, come le immagini di sfondo, icone, ecc)
come faresti allora? Supponendo che voglio ancora che sia ospitato su Heroku. – ryanprayogo
Nota che Heroku suggerisce 'Cache-Control' nei loro documenti (vedi http://docs.heroku.com/http-caching), e Headhunter è ospitato lì. Io userei 'response ['Expires'] ='. Si noti che 'Scade' è specificato come tempo assoluto, non relativo alla richiesta (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21) – awendt
Sinatra in realtà ha un aiuto specifico per questo : 'cache_control: public,: max_age => 60' –