2012-09-27 12 views

Respuesta

1

Normalmente, no necesita hacer nada: la mayoría de los servidores web "normales" mostrarán contenido estático con los encabezados de caché estáticos correspondientes. Sin embargo, si está especificando el suyo o, por algún motivo, su servidor está enviando encabezados que hacen que el contenido estático no se almacene en la memoria caché, querrá anular o eliminar cualquier encabezado que impida que el contenido se guarde en caché.

Utilice un programa que pueda ver los encabezados de su contenido (la pestaña "Red" de Firebug en Firefox, el sitio web http://web-sniffer.net/ o similar) para ver qué encabezados tiene actualmente su contenido. Verifique cosas como "Cache-Control" y "Expira". Si el contenido tiene un encabezado de control de caché que impide el almacenamiento en caché o ya ha caducado, esto probablemente evitará que Cloudflare (y cualquier otro caché) lo almacene en caché, y deberá eliminarlo o cambiarlo.

Como regla general, para permitir que algo se almacene en caché, especifique un tiempo de caducidad de algo en el futuro, y un control de caché de público con un máximo de edad = algún tiempo en el futuro, sin embargo, los encabezados enviar dependerá de lo que está sirviendo, qué servidor está usando, qué es el cliente, etc.

La manera más fácil sin aprender y entender los diversos encabezados de caché es probablemente usar algo como http://web-sniffer.net/ para ver algunos otro contenido que se almacena en caché y copia sus encabezados. Por ejemplo, http://web-sniffer.net/?url=ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js

Tenga en cuenta que siempre en línea por lo general no funciona, en mi experiencia.

// set the most basic caching headers in PHP (cache for 1 month) 
header('Cache-Control: public'); 
header('Expires: '.gmdate('D, d M Y H:i:s', strtotime('+1 month')).' GMT'); 

Ver http://hardanswers.net/dynamic-webpage-caching para una breve explicación.

1

Utilizar 'public' como Cache-Control fue un problema para mí, porque la mayoría de mis páginas son muy dinámicas (una tienda en línea). Es por eso que le dije a CloudFlare que guardara en caché.

Cloudflare usa Mozilla/5.0 (compatible; CloudFlare-AlwaysOnline/1.0; +http://www.cloudflare.com/always-online) como agente de usuario. Puede decirle a CloudFlare que almacene sus páginas en caché con PHP o .htaccess (consulte la solución de Ned Martin), pero dígales a otros visitantes que no almacenen en caché sus páginas.

3

Definitivamente no desea tener caché y encabezados privados, si desea Siempre en línea (y mucho de nuestro almacenamiento en caché) para que funcionen correctamente.

"sus imágenes se almacenan en caché por su CDN?" Cacheamos automáticamente los recursos en el sitio por extensión de archivo (no almacenaríamos en caché recursos externos, obviamente, como los widgets de Flickr o Facebook).

Nota: Siempre en línea tiene algunas limitaciones & todas estas limitaciones se describen en nuestra documentación (códigos de respuesta del servidor, etc.). Si recientemente también agregó el sitio a CloudFlare, no habría realmente nada en la memoria caché para mostrar (el rastreador Always Online se apaga a horas específicas).

Una futura versión de Always Online permitirá a los usuarios "fijar" páginas específicas, lo que (con suerte) conseguirá las pocas limitaciones que tenemos ahora fuera de la imagen.

+0

¿El encabezado 'Set-Cookie' impedirá que Always Online guarde en caché una página?Traté de agregar diferentes encabezados de caché a mi sitio alojado en IIS utilizando URL Rewrite, pero nada parece ayudar. La Reescritura de URL no puede eliminar un encabezado, solo puede convertirlo en una cadena vacía, por lo que no estoy seguro de si el problema es '' Set-Cookie' o algo más. – jwalker

Cuestiones relacionadas