Usé Google Pagespeed Insights para probar el rendimiento de mi sitio web de nodejs. Para algunos archivos externos, dice que se debe aprovechar el almacenamiento en caché del navegador, pero no sé cómo hacerlo.
Aprovechar el almacenamiento en caché del navegador
Establecer una fecha de vencimiento o una edad máxima en las cabeceras HTTP para los recursos estáticos instruye al navegador a cargar los recursos descargados previamente desde el disco local en lugar de a través de la red. Aprovecha la caché del navegador para los siguientes recursos en caché:
http://maps.googleapis.com/…kwPPoBErK_--SlHZI28k6jjYLyU&sensor=false (30 minutos)
http://www.google-analytics.com/analytics.js (2 horas)
Cualquier ayuda sería apreciada.
Una solución es hacer un proxy inverso de los recursos de Google. Luego, puede agregar Cache-Control y otros encabezados de almacenamiento en caché. Si está utilizando Apache, puede lograrlo de la siguiente manera en su archivo httpd.conf:
ProxyRemote http://www.google-analytics.com http://yourinternalproxy:yourport <Location /analytics.js> ProxyPass http://www.google-analytics.com/analytics.js ProxyPassReverse http://www.google-analytics.com/analytics.js Header set Cache-Control "max-age=86400" </Location> Las desventajas de esto son que:
Si no tienes acceso al archivo httpd.conf como menciona la respuesta de rudolfv, hay varias opciones aquí:
usar un script de PHP para generar el script de Google Analytics en cada solicitud sobre la marcha:
$context = stream_context_create(['http' => ['Content-Type' => 'text/javascript', 'enable_cache' => true, 'enable_optimistic_cache' => true, 'read_cache_expiry_seconds' => 86400,]]); echo file_get_contents("http://www.google-analytics.com/analytics.js", false, $context); usar el poder de .htaccess si tu proveedor de hosting permite mod_headers & mod_proxy
RewriteEngine On Header set Cache-Control "max-age=86400" RewriteRule ^js/analytics.js http://www.google-analytics.com/analytics.js [P]