Configuración de encabezado HTTP (solicitudes de origen cruzado)
Los encabezados HTTP forman parte de un mensaje de solicitud o respuesta HTTP que define los parámetros operativos de una transacción HTTP.
Si la configuración de encabezado HTTP está habilitada, puede agregar encabezados personalizados en los mensajes de respuesta devueltos al solicitante e implementar funciones como el uso compartido de recursos entre orígenes.
Precauciones
La configuración de encabezado HTTP es específica del nombre de dominio. Cuando una nueva configuración entra en vigor, los mensajes de respuesta se agregarán a los encabezados utilizados para cualquier recurso dentro de todo el dominio. Sin embargo, la configuración de encabezado HTTP solo afecta al comportamiento de respuesta de los clientes (navegadores). No afectan al comportamiento de la caché de los nodos CDN.
Fondo
Huawei Cloud CDN le permite personalizar los siguientes encabezados de respuesta HTTP:
- Content-Disposition
El encabezado Content-Disposition puede iniciar una descarga en el lado del cliente y especificar el nombre del archivo que se va a descargar.
Cuando un servidor envía un archivo a un navegador, siempre y cuando el formato de archivo sea compatible (por ejemplo, TXT o JPG), el archivo se abre mediante el navegador de forma predeterminada. Si el archivo debe tratarse como un archivo adjunto y guardarse con un nombre de archivo específico, puede utilizar el campo de encabezado Content-Disposition para especificar este requisito.
Si utiliza un bucket OBS creado después del 1 de enero de 2022 como servidor de origen y desea habilitar la vista previa en línea, establezca Content-Disposition en línea. Para obtener más información, consulte ¿Cómo previsualizo objetos en OBS a través de un explorador?
- Content-Language
El encabezado Content-Language especifica el idioma o la combinación de idiomas preferidos del navegador. El contenido se puede personalizar para diferentes usuarios.
- Access-Control-Allow-Origin
El encabezado Access-Control-Allow-Origin incluye los nombres de dominio permitidos para CORS después de la autenticación del servidor. Para una solicitud CORS simple, el navegador determina si devolver el contenido de recursos solicitado al cliente basándose en este encabezado de mensaje. Para una solicitud de comprobación previa, el navegador determina si iniciar una solicitud CORS real al servidor basándose en este encabezado de mensaje.
Para evitar errores entre dominios causados por la caché del navegador, borre la caché del navegador después de configurar Access-Control-Allow-Origin.
- Access-Control-Allow-Methods
El encabezado Access-Control-Allow-Methods incluye los métodos que se permiten para el acceso CORS después de la autenticación del servidor. Para una solicitud CORS simple, el navegador determina si devolver el contenido de recursos solicitado al cliente basándose en este encabezado de mensaje. Para una solicitud de comprobación previa, el navegador determina si iniciar una solicitud CORS real al servidor basándose en este encabezado de mensaje.
- Access-Control-Max-Age
El encabezado Access-Control-Max-Age determina cuánto tiempo se pueden almacenar en caché los resultados de precomprobación para las solicitudes CORS permitidas por el servidor. El navegador determina la edad máxima de la caché para los resultados de la solicitud de comprobación previa basándose en este encabezado de mensaje. Mientras el periodo definido por esta cabecera no haya expirado, el navegador puede determinar si iniciar una solicitud CORS al servidor basándose en los resultados. Una vez que este período expira, el navegador debe enviar otra solicitud de comprobación previa al servidor.
- Access-Control-Expose-Headers
Access-Control-Expose-Headers especifica los encabezados de respuesta que el navegador puede exponer al cliente. Puede utilizar este campo para definir los encabezados de respuesta visibles para el cliente. Los siguientes encabezados de respuesta son visibles por defecto para el cliente: Cache-Control, Content-Language, Content-Type, Caduca, Last-Modified y Pragma.
- Custom
Si los encabezados de respuesta anteriores no pueden satisfacer sus necesidades, puede crear encabezados de respuesta. Un encabezado de respuesta personalizado puede contener de 1 a 100 caracteres, comenzando con una letra y constando de letras, dígitos y guiones (-).
Procedimiento
- Inicie sesión en la Consola de CDN.
- En el panel de navegación, seleccione .
- En la lista de dominios, haga clic en el nombre del dominio de destino o haga clic en Configure en la columna Operation.
- Haga clic en la pestaña Advanced Settings.
- En el área HTTP Header, haga clic en Edit. Aparece el cuadro de diálogo Configure HTTP Header.
- Haga clic en Add y seleccione una operación de encabezado de respuesta en la lista desplegable.
Operación del encabezado de respuesta
Descripción
Set
- Si el encabezado ya existe en la respuesta, el valor del encabezado que configure sobrescribirá el original.
- Si el encabezado no existe en la respuesta, el encabezado se agregará a la respuesta.
Delete
El encabezado se eliminará de la respuesta.
- Algunos encabezados no se pueden establecer ni eliminar. Para más detalles, consulte Restricciones.
- Puede agregar hasta 10 configuraciones de encabezado de respuesta HTTP.
- Establezca el parámetro y el valor del encabezado.
Parámetro
Descripción
Valor de ejemplo
Content-disposition
Inicia una descarga en el lado del cliente y especifica el nombre del archivo que se va a descargar.
Value requirements: Para una configuración típica, vea el ejemplo de la derecha.
attachment;filename=FileName.xls
Content-Language
Especifica el idioma de la página de respuesta del cliente.
Value requirements: Para una configuración típica, vea el ejemplo de la derecha.
zh-CN
en-US
Access-Control-Allow-Origin
Especifica las direcciones URL de dominio externo (origen de solicitud) a los que se permite acceder al recurso en el uso compartido de recursos entre orígenes (CORS).
Value requirements:
- Ingrese hasta 256 caracteres para una URL.
- Una URL debe comenzar con http:// o https://.
- Si se establece en *, no se permiten direcciones URL después del comodín (*).
Ejemplo 1:
https://www.example.com
Ejemplo 2:
*
NOTA:No se admiten nombres de dominio carácter comodín.
Access-Control-Allow-Methods
Especifica los métodos de solicitud HTTP que se pueden utilizar en una solicitud CORS.
Value requirements: Se pueden configurar varios métodos al mismo tiempo. Separar con comas (,).
GET, POST, HEAD
Access-Control-Max-Age
Especifica cuánto tiempo se almacenarán en caché los resultados de la comprobación previa de las solicitudes CORS en recursos específicos.
Value requirements: Este valor se expresa en segundos. El rango de valores es 1-1000000000.
86400
Access-Control-Expose-Headers
Especifica la información del encabezado de respuesta visible para el cliente para una solicitud CORS.
Value requirements: Se pueden configurar varios encabezados al mismo tiempo. Separar con comas (,).
Content-Length, Content-Encoding
Custom
Especifica el encabezado de respuesta personalizado para una solicitud CORS.
Value requirements: Ingrese hasta 256 caracteres, que pueden contener letras, dígitos, espacios y caracteres especiales (.-_*#! %&+|^-'"/:;,=@?).
x-testcdn
- Haga clic en OK.
Restricciones
- Si su nombre de dominio tiene configuraciones especiales, no se pueden configurar Content-Type, Cache-Control, y Expires.
- Los siguientes encabezados de respuesta se pueden modificar pero no se pueden eliminar.
Content-Base
Content-Disposition
Server
Content-Language
- CDN no admite los siguientes encabezados de respuesta:
A_Dynamic
If-None-Match
Sec-WebSocket-Origin
X-Forward-Peer
Accept-Ranges
If-Range
Sec-WebSocket-Protocol
X-Forward-Type
Age
Keep-Alive
Sec-WebSocket-Version
X-Forward-Uri
Allow
Key
Set-Cookie
X-Forwarded-For
Authentication-Info
Last-Modified
Tcp-Retrans
X-IP-Region
Authorization
Link
Title
X-IP-Region-CN
X-Forward-Measured
Location
Transfer-Encoding
X-Ip-Blackwhite-List
Cdn-Qos
Max-Forwards
Upgrade
X-Local-Ip
Cdn-Server-Ip
Meter
Vary
X-Log-Url
Cdn-Src-Ip
Mime-Version
Via
X-MAA-Alias
Conf-Err-Host
Negotiate
WWW-Authenticate
X-MAA-Auth
Conf-File
Origin
Warning
X-Max-Conns
Conf-File-List
Partition-Block-Size
Ws-Hdr
X-Mem-Url
Conf-Option
Pragma
WsTag
X-Mgr-Traffic
Conf-Other
Proxy-Authenticate
X-Accelerator-Vary
X-Miss-Rate-Limit
Connection
Proxy-Authentication-Info
X-Appa
X-Miss-Times-Limit
Content-Encoding
Proxy-Authorization
X-Appa-Origin
X-No-Referer
Content-Length
Proxy-Connection
X-Black-List
X-Query-Key
Content-Location
Proxy-Support
X-Bwctrl-Limit
X-Rate-Limit
Content-MD5
Public
X-Bwctrl-Para
X-Refresh-Pattern
Content-Range
Purge-Domain
X-Cache
X-Request-Id
Sec-WebSocket-Nonce
Purge-Extra
X-Cache-2
X-Request-Uri
Date
Range
X-Cache-Lookup
X-Request-Url
Dynamic
Request-Range
X-Cacheable
X-Resp-Time
ETag
Retry-After
X-Cdn-Src-Port
X-Rewrite-Url
Error
Sec-WebSocket-Accept
X-Client-Ip
X-Squid-Error
Expect
Sec-WebSocket-Draft
X-DNS-Time
X-Times-Limit
If-Modified-Since
Sec-WebSocket-Extensions
X-Denyattack-Dynconf
X-Url-Blackwhite-List
From
Sec-WebSocket-Key
X-Error-Status
X-Via-CDN
Front-End-Https
Sec-WebSocket-Key1
X-Error-URL
X-White-List
Host
Sec-WebSocket-Key2
X-Forward-Host
-
If-Match
Sec-WebSocket-Location
X-Forward-Ip
-