¿Cómo funciona un CDN como CloudFlare?

23

Lo que entiendo hasta ahora:

  • Mantiene su alojamiento web actual, pero cambia los servidores DNS de su sitio de los servidores DNS de su alojamiento actual a los servidores DNS de CloudFlare.
  • CloudFlare sirve los recursos de su sitio web desde múltiples centros de datos en todo el mundo.

Ahora, me gustaría conocer los detalles técnicos de este mecanismo. Estas son algunas de las preguntas que tengo:

  1. ¿CloudFlare actúa como un proxy de caché? Digamos que tengo un montón de imágenes en las páginas de mi sitio. ¿CloudFlare almacena en caché todas esas imágenes en cada uno de sus centros de datos y luego las sirve desde esos centros de datos?

  2. ¿Qué recursos del sitio están afectados? ¿Solo los estáticos? ¿Qué pasa con las páginas web en sí (los documentos HTML)? ¿Qué pasa si las páginas son generadas dinámicamente por mi servidor? ¿Cómo se asegura CloudFlare de ofrecer siempre la versión más actualizada de la página?

  3. ¿Qué pasa con las solicitudes POST a mi sitio (por ejemplo, un visitante que carga datos a través de Ajax que luego se almacena en la base de datos)? Estas cosas tienen que ser ejecutadas en mi servidor. Entonces, CloudFlare no (y no puede) aumentar el rendimiento de este proceso, ¿verdad? Entonces, ¿CloudFlare solo transmite la solicitud de Ajax al host web original?

Šime Vidas
fuente

Respuestas:

23
  1. Sí, es un proxy inverso de almacenamiento en caché.
  2. "Depende". De forma predeterminada, solo se almacenan en caché cosas como imágenes y CSS, pero puede establecer el nivel de caché por zona y establecer Reglas de página para anular lo que se almacena en caché o no. El HTML estático puede ser forzado a ser almacenado en caché por una regla de página, pero el contenido dinámico obviamente no puede. La excepción aquí es si tiene el plan Business o Enterprise, o se registra a través de ciertos socios de hosting, donde obtiene acceso a la tecnología Railgun por la cual CloudFlare solo obtendrá la información que ha cambiado en una página, incluso si es dinámica. Si ha configurado CloudFlare para almacenar en caché todo, debe controlar el tiempo de espera de la memoria caché, ya sea con encabezados de caché en el origen y / o configurando el TTL de caché en su zona en la interfaz de usuario de CloudFlare.
  3. Las POST siempre deben enviarse al origen, por lo que CloudFlare simplemente las pasa directamente. Todavía debería obtener un aumento en el rendimiento porque CloudFlare usa anycast para servir DNS y HTTP desde el centro de datos más cercano.

Divulgación completa: trabajo para CloudFlare.

James O'Gorman
fuente
5

Solo para agregar un poco más de claridad:

Hay un artículo bastante bueno sobre Quora sobre cómo funciona CloudFlare .

¿Qué recursos del sitio están afectados? ¿Solo los estáticos? Lo que CloudFlare almacena en caché de forma predeterminada .

"¿CloudFlare actúa como un proxy de caché? Digamos que tengo un montón de imágenes en las páginas de mi sitio. ¿CloudFlare almacena en caché todas esas imágenes en cada uno de sus centros de datos y luego las sirve desde esos centros de datos?"

Puede extender nuestro almacenamiento en caché más allá del contenido estático con PageRules.

Nota: No almacenaremos en caché los recursos de terceros que se encuentran en su sitio (Flickr, Google, Facebook, etc.).

damoncloudflare
fuente
1

Para agregar a la respuesta de Damon:

Puede encontrar algunos tutoriales en video útiles para configurar las Reglas de página más populares / recomendadas con CloudFlare aquí:

cloudflare.com/features-page-rules

Además, si ha maximizado sus Reglas de página disponibles en su plan actual, pronto podrá comprar reglas adicionales sin cambiar de plan.

RyanK
fuente