¿Los encabezados HTTP están configurados por la CDN o por la aplicación?

¿Los encabezados HTTP están configurados por la CDN o por la aplicación?

Esta es una pregunta teórica y supongo que puede ser demasiado amplia o poco clara.

Foobar es una aplicación que sirve a los usuarios de Internet. Se basa en una CDN para mejorar su resiliencia, velocidad, etc. para atender a las personas dondequiera que estén.

  • ¿Los encabezados HTTP (recibidos por el cliente) están definidos por la CDN o por la aplicación Foobar (lo que implica que la CDN los reenviará)?

  • Si ambos son posibles, ¿cuáles son los pros y los contras de cada uno?

Respuesta1

No existe una respuesta universal. Lo que se hace con/a los encabezados depende tanto de la solicitud, la CDN específica, el encabezado específico y la configuración de su sitio (eso incluye tanto los encabezados que su servidor backend/de origen incluye en la respuesta como cómo configura su sitio en la CDN).

Supongamos que por defecto la mayoría delos encabezados serán eliminadosde la respuesta generada por un servidor back-end/origen y solo un (mínimo)Se establecerá un subconjunto de encabezados.en la respuesta enviada por el CDN.

Algunos encabezados (específicos de CDN)podríaseragregadopor la CDN según sus políticas o por defecto. Por ejemplo, Fastly añade unx-served-by:encabezamiento de forma predeterminada y CloudFront le permite configurar y opcionalmente Server-Timing:encabezamientopara facilitar la depuración de las operaciones CDN.

Algunos encabezadospodríaserPreservadodesde su servidor back-end. Por ejemplo , los encabezados Cache-control:y Expires:son bastante comunes. Ver por ejemplo:Documentos de Cloud Front

Algunopodríaserequilibradopor la CDN de maneras específicas. Por ejemplo, vea cómo Fastly aborda unDate:encabezamientofijado en el origen.


Razones para configurar encabezados en la CDN

En lugar de permitir que cada aplicación haga lo suyo o no haga nada, establezca una política única para todos sus sitios y aplicaciones a nivel de CDN.

Buenos ejemplos sonCORSyHSTSpolíticas.

Puede elegir establecer/agregar solo un encabezado específico en la CDN cuando el origen no lo haga, pero usar el valor del origen si está configurado allí.

etcétera etcétera.


Razones para conservar los encabezados establecidos en el origen

La aplicación (desarrollador) sabe mejor lo que necesita la aplicación.

Anular la política de almacenamiento en caché predeterminada con un Cache-Control: private, no-storees un ejemplo de libro de texto que me viene a la mente.

etcétera etcétera.

información relacionada