control cache ruby http-headers heroku sinatra varnish

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''