ruby - heroku cache control
¿Cómo configuro los encabezados HTTP en la aplicación Ruby/Sinatra, alojados en Heroku? (3)
Tengo una aplicación de trabajo basada en Ruby y Sinatra que se implementa en Heroku.
Quiero aprovechar el almacenamiento en caché HTTP disponible en Heroku, que utiliza Varnish.
No estoy seguro de cuál es la mejor manera de establecer los encabezados y la sintaxis correcta.
¿Alguna idea sobre el mejor enfoque y sintaxis?
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
En Sinatra puedes usar el método cache_control
:
get ''/'' do
# Cache for 24 hours
cache_control :public, max_age: 86400
# Your magic goes here
end
Normalmente, las páginas generadas dinámicamente no tienen almacenamiento en caché, por lo que
response.headers[''Cache-Control''] = ''public, max-age=300''
La cabecera es el punto de partida correcto.
Intente usar uno de los servicios en " Usar un servicio basado en la Web " para ver si aparecen en el encabezado HTTPd enviado desde su sitio.
También puede acceder a los campos de encabezado del objeto de respuesta con esta sintaxis:
response[''Cache-Control''] = ''public, max-age=600''