Domanda

Ho un app di lavoro con sede a Ruby e Sinatra che viene distribuito su Heroku.

Voglio approfittare del HTTP caching accessibile Heroku, che utilizza vernice.

Non sono sicuro di ciò che il modo migliore per impostare le intestazioni è, e la sintassi corretta.

Ogni pensiero su l'approccio migliore e la sintassi?

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
È stato utile?

Soluzione

Di solito le pagine generate dinamicamente non hanno la cache in modo che il

response.headers['Cache-Control'] = 'public, max-age=300'

intestazione è il giusto punto di partenza.

Prova utilizzando uno dei servizi a " Utilizzare un servizio Web-based " per vedere se si fanno vedere in HTTPd intestazione posteriore inviato dal tuo sito.

Altri suggerimenti

È anche possibile accedere ai campi di intestazione dell'oggetto di risposta con la seguente sintassi:

response['Cache-Control'] = 'public, max-age=600'

In Sinatra è possibile utilizzare il metodo cache_control:

get '/' do
  # Cache for 24 hours
  cache_control :public, max_age: 86400

  # Your magic goes here
end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top