Los encabezados de respuesta salientes forman parte de los encabezados de un mensaje de respuesta HTTP. Estos transportan parámetros específicos y los envían a los clientes para controlar diversos comportamientos, como la caché, el acceso de origen cruzado, los tipos de contenido y los métodos de descarga. Cuando modifique estos encabezados, las respuestas que devuelve CDN DCDN incluirán la configuración que usted definió cada vez que los usuarios soliciten recursos del dominio acelerado. Esto le permite habilitar funciones específicas, por ejemplo, el acceso de origen cruzado.
Contexto
Los encabezados de respuesta salientes son un mecanismo del protocolo HTTP que se utiliza para controlar la caché. Cuando un cliente solicita un recurso, los encabezados de respuesta HTTP que devuelve el nodo permiten almacenar el contenido en la caché bajo condiciones específicas.
La configuración de encabezados de respuesta HTTP se aplica a nivel de dominio. Una vez que surte efecto, afecta los mensajes de respuesta de todos los recursos asociados al dominio.
Esta configuración solo influye en el comportamiento de respuesta del cliente (por ejemplo, un navegador) y no altera la forma en que los nodos de CDN DCDN gestionan la caché. Si el dominio acelerado es un dominio comodín, no se admite modificar los encabezados de respuesta salientes.
Escenarios
Indicar al cliente el tipo de recurso de los archivos de respuesta de CDN DCDN: agregue el encabezado de respuesta
Content-Type: text/htmlpara notificarle al cliente que los archivos devueltos por CDN DCDN tienen formato HTML.Habilitar el acceso a recursos de origen cruzado: cuando un usuario solicita recursos de un dominio en CDN DCDN, configure el encabezado de respuesta
Access-Control-Allow-Originen el mensaje devuelto por CDN DCDN para permitir este tipo de acceso. Para obtener más información, consulte Configure cross-origin resource sharing. Alibaba Cloud CDN DCDN también es compatible con la validación de solicitudes de origen cruzado mediante reglas CORS configuradas previamente, lo que ofrece un control más flexible sobre el acceso a estos recursos.Descarga de archivos: si accede a archivos de OSS mediante un dominio acelerado por CDN, el navegador los previsualiza de manera predeterminada. Agregue
Content-Disposition: attachmenta los encabezados de respuesta salientes para que el navegador descargue los archivos en lugar de mostrarlos.Personalizar el comportamiento de respuesta: agregue o modifique información de encabezados personalizados según sus necesidades de negocio para ajustar el contenido y el formato de las respuestas que reciben los clientes.
Notas
-
Las configuraciones se ejecutan de arriba hacia abajo según el orden en que aparecen en la lista, y sus efectos son acumulativos. Si varias configuraciones modifican el mismo encabezado, prevalece la última. En el siguiente ejemplo, la Configuración 2 es la que surte efecto:
Configuración 1: agregar el encabezado de respuesta HTTP:
cache-control: max-age=3600Configuración 2: agregar el encabezado de respuesta HTTP:
cache-control: no-cache
Cuando se aplican condiciones de regla, la coincidencia se determina por la prioridad de dichas condiciones y no por el orden de las configuraciones.
CDN no admite eliminar ni modificar los encabezados de respuesta reservados por el sistema, como Via y EagleId. Estos encabezados registran información sobre los nodos de CDN. Aunque configure su eliminación o modificación, la configuración no surtirá efecto y el sistema conservará la información del último nodo.
Después de modificar la configuración de los encabezados de respuesta salientes, los cambios suelen surtir efecto en un plazo de 5 minutos. No es necesario volver a precargar los recursos, ya que esta acción no altera los encabezados de respuesta de los recursos almacenados en la caché.
Procedimiento
Inicie sesión en la consola de CDN.
En el panel de navegación izquierdo, haga clic en Domain Names.
En la página Domain Names, busque el nombre de dominio de destino y haga clic en Manage dentro de la columna Actions.
En el panel de navegación del dominio, haga clic en Cache.
Haga clic en la pestaña Modify outbound response headers.
-
Haga clic en Customize para modificar los encabezados de respuesta salientes.
A continuación se describe cómo agregar un encabezado de respuesta saliente mediante un ejemplo.
Parámetro
Descripción
Operation
Agregue, elimine, cambie o reemplace los encabezados de respuesta especificados.
Response Header
Seleccione un parámetro de encabezado de respuesta personalizado. Para obtener más información, consulte Response header parameters.
Header Name
Cuando el parámetro de encabezado de respuesta personalizado se establece en Custom, debe configurar un nombre de encabezado de respuesta personalizado. Los requisitos para estos nombres son los siguientes:
Debe contener únicamente letras mayúsculas, letras minúsculas, guiones y dígitos.
La longitud debe ser de entre 1 y 100 caracteres.
Header Value
Introduzca el valor del encabezado de respuesta que desea establecer. Para obtener más información, consulte Response header parameters.
Allow Duplicates
Yes: conserva el encabezado que devuelve el servidor de origen y agrega otro con el mismo nombre.
No: el encabezado recién configurado sobrescribe al que devuelve el servidor de origen cuando ambos comparten el mismo nombre.
CORS
La validación de CORS está deshabilitada de forma predeterminada. Solo es posible configurarla cuando Operation se establece en "Add" y Response Header en "Access-Control-Allow-Origin".
Enable: cuando la validación de CORS está habilitada, los nodos de CDN validan las solicitudes de origen cruzado de los usuarios según las reglas descritas a continuación. Luego, responden con el valor de "Access-Control-Allow-Origin" de acuerdo con el resultado de dicha validación.
Disable: cuando la validación de CORS está deshabilitada, los nodos de CDN no validan el encabezado Origin incluido en las solicitudes de los usuarios. En este caso, responden únicamente con el valor configurado de Access-Control-Allow-Origin.
Para consultar las reglas de validación de CORS, consulte CORS validation rules.
Rule Condition
Las condiciones de regla identifican diversos parámetros incluidos en las solicitudes de los usuarios para determinar si una configuración se aplica a una solicitud específica.
ImportanteCuando se hace referencia a condiciones de regla, el sistema evalúa las coincidencias según la prioridad de dichas condiciones, no por el orden en que se configuraron las funciones.
Do not use: no utilice condiciones de regla.
Para agregar o editar condiciones de regla, gestióneles en Rules engine.
-
Haga clic en OK para completar la configuración.
Una vez que modifique correctamente los encabezados de respuesta salientes, podrá ejecutar las operaciones Modify o Delete sobre la configuración actual en la lista de encabezados de respuesta salientes POP HTTP Response Header.
Ejemplo de configuración: configurar Cache-Control:no-cache para archivos PDF
Si desea que el cliente negocie la caché de los archivos PDF (es decir, que compruebe con los nodos CDN si los archivos se actualizaron en cada solicitud), utilice el motor de reglas:
Cuando Customize una configuración de encabezado de respuesta saliente, seleccione usar Rule Condition.
Establezca la condición de coincidencia para que la extensión del archivo contenga
.pdf.Configure la acción para modificar los encabezados de respuesta salientes y agregue
cache-control:no-cache.
Esta configuración afecta únicamente a los encabezados de respuesta que CDN devuelve al cliente. Esto hace que el cliente negocie la caché, pero no modifica la directiva de almacenamiento en caché de los nodos CDN para los archivos PDF.
Reglas de validación de CORS
Los elementos de configuración Allow Duplicates y CORS son mutuamente excluyentes. Si establece Allow Duplicates en Yes, la validación de CORS queda inhabilitada.
Coincidencia con comodines: si el valor del parámetro de encabezado de respuesta personalizado
Access-Control-Allow-Originse establece en*, siempre se devuelveAccess-Control-Allow-Origin:*. Este comportamiento ocurre sin importar si la solicitud del usuario incluye el parámetroOrigino cuál sea su valor.-
Coincidencia exacta: el valor del parámetro de encabezado de respuesta personalizado
Access-Control-Allow-Originse establece en uno o más valores (separe varios valores con,).Si el valor del parámetro
Originincluido en el encabezado de la solicitud del usuario coincide exactamente con alguno de los valores configurados, se devuelve el encabezado de origen cruzado correspondiente.Si no se encuentra ninguna coincidencia exacta, no se devuelve ningún encabezado de origen cruzado.
Coincidencia de dominio con comodines: si el valor del parámetro de encabezado de respuesta personalizado
Access-Control-Allow-Originse establece en un nombre de dominio con comodines, el sistema valida si el valor Origin del encabezado de la solicitud coincide con el dominio con comodines deAccess-Control-Allow-Origin.
Para obtener información sobre cómo establecer esta configuración, consulte Configure cross-origin resource sharing.
Parámetros de encabezado de respuesta
Parámetro de encabezado de respuesta | Descripción | Ejemplo |
Custom | Es posible agregar encabezados de respuesta personalizados. Los nombres de estos encabezados deben cumplir los siguientes requisitos:
| Test-Header |
Cache-Control | Define el mecanismo de caché que deben seguir las solicitudes y respuestas del programa cliente. | no-cache |
Content-Disposition | Indica el nombre de archivo predeterminado cuando el programa cliente guarda como archivo el contenido obtenido de una solicitud. | examplefile.txt |
Content-Type | Especifica el tipo de contenido del objeto de respuesta del programa cliente. | text/plain |
Pragma | Pragma es un encabezado general definido en HTTP/1.0. Se utiliza habitualmente en las respuestas del servidor para establecer el comportamiento de caché del cliente respecto a los archivos. | no-cache |
Access-Control-Allow-Origin |
|
|
Access-Control-Allow-Methods | Define los métodos de solicitud de origen cruzado permitidos. Separe varios métodos con comas ( | POST,GET |
Access-Control-Allow-Headers | Especifica los campos de solicitud de origen cruzado permitidos. | X-Custom-Header |
Access-Control-Expose-Headers | Indica la información de encabezado personalizado a la que se puede acceder. | Content-Length |
Access-Control-Allow-Credentials | Determina si la respuesta a una solicitud se puede exponer a la página.
| true |
Access-Control-Max-Age | Establece la duración de la caché del resultado de la solicitud de preflight para un recurso específico del programa cliente. Unidad: segundos. | 600 |
Content-Security-Policy | Configura una directiva de seguridad de contenido (CSP) para controlar qué recursos puede cargar una página y protegerla frente a amenazas como ataques XSS e inyección de datos. CDN no valida semánticamente el contenido de la directiva CSP; únicamente comprueba el formato básico del encabezado de respuesta HTTP. El contenido debe ser una cadena de una sola línea, sin saltos de línea, caracteres de control no válidos ni comillas sin escapar. No incluya las comillas dobles exteriores. Se recomienda comprobar la directiva en las herramientas de desarrollo del navegador antes de introducirla. También puede configurar la CSP en el servidor de origen para que CDN simplemente la reenvíe. | default-src 'self'; script-src 'self' 'unsafe-inline' |
Permissions-Policy | Configura directivas de permisos para controlar el acceso a funciones específicas del navegador, como la cámara, el micrófono y la geolocalización. | camera=(), microphone=() |
El valor del encabezado de respuesta se puede establecer en
*, lo que representa cualquier origen.Si el valor del encabezado de respuesta no es
*, configure una o más direcciones IP, uno o más nombres de dominio, o bien una combinación de ambos. Sepárelos con comas (,).Si el valor del encabezado de respuesta no es
*, debe incluir el prefijo de protocolohttp://ohttps://.El valor del encabezado de respuesta puede contener puertos.
El valor del encabezado de respuesta admite nombres de dominio con comodines.
Diferencias entre los encabezados de respuesta salientes y entrantes
Los encabezados de respuesta salientes y entrantes se aplican en distintas etapas del proceso de almacenamiento en caché. Antes de configurar un encabezado de respuesta, confirme el destino:
Encabezados de respuesta salientes (encabezados de respuesta HTTP del nodo): son los encabezados que los nodos de CDN envían a los clientes, como los navegadores. Si un nodo tiene contenido almacenado en caché, lo devuelve directamente al cliente sin consultar el origen. Este tipo de encabezado controla el comportamiento de caché entre el cliente y el nodo de CDN.
Encabezados de respuesta entrantes (encabezados de respuesta HTTP de consulta al origen): son los encabezados que el servidor de origen envía a los nodos de CDN. Cuando la caché de un nodo caduca o se produce un fallo de caché, el nodo solicita el contenido más reciente al servidor de origen. Los encabezados que devuelve dicho servidor son los encabezados entrantes. Este tipo de encabezado controla el comportamiento de caché entre el servidor de origen y el nodo de CDN.
Las modificaciones en los encabezados de respuesta entrantes (por ejemplo, cambiar el campo de dominio de Set-Cookie) afectan únicamente la comunicación entre el servidor de origen y los nodos de CDN. Los usuarios finales no perciben estos cambios. Para modificar las respuestas que reciben los usuarios finales, configure los encabezados de respuesta salientes. Si estos últimos siguen sin surtir efecto, se recomienda modificar los encabezados de respuesta directamente en el servidor de origen.
Configuración por lotes para varios nombres de dominio
Las configuraciones de encabezados de respuesta salientes se pueden agregar por lotes a varios nombres de dominio. Llame a la operación de API BatchSetCdnDomainConfig para configurar los nombres de dominio de forma masiva y defina las reglas de agregación de encabezados mediante los parámetros de función de dicha operación.
Tiempo de aplicación de las configuraciones
Por lo general, las configuraciones tardan hasta 5 minutos en surtir efecto. Mientras tanto, el estado se muestra como Configuring, lo cual es normal.
Preguntas frecuentes
Para obtener información sobre cómo solucionar problemas, como configuraciones de encabezados de respuesta que no surten efecto, consulte Cache troubleshooting guide.