Set header
SE APLICA A: todos los niveles de API Management
La directiva set-header
asigna un valor a un encabezado de respuesta o de solicitud HTTP existente o agrega un nuevo encabezado de este tipo.
Use la directiva para insertar una lista de encabezados HTTP en un mensaje HTTP. Cuando se coloca en un proceso entrante, esta directiva establece los encabezados HTTP para la solicitud que se pasa al servicio de destino. Cuando se coloca en una canalización saliente, esta directiva establece los encabezados HTTP para la respuesta que se está enviando al cliente de la puerta de enlace.
Nota
Establezca los elementos de la directiva y los elementos secundarios en el orden proporcionado en la instrucción de directiva. Para que pueda configurar esta directiva, el portal proporciona un editor guiado basado en formularios. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.
Instrucción de la directiva
<set-header name="header name" exists-action="override | skip | append | delete">
<value>value</value> <!--for multiple headers with the same name add additional value elements-->
</set-header>
Atributos
Asignar nombre | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
exists-action | Especifica la acción que se debe realizar cuando ya se ha especificado un encabezado. Este atributo debe tener uno de los siguientes valores: - override : sustituye el valor del encabezado existente.- skip : no sustituye el valor del encabezado existente.- append : anexa el valor al encabezado existente.- delete : quita el encabezado de la solicitud.Cuando se establece en override , si se inscriben varias entradas con el mismo nombre, se establece el encabezado de acuerdo con todas ellas (que se inscribirán varias veces); solo los valores mostrados se establecerán en el resultado. Se permiten expresiones de directiva. |
No | override |
name | Especifica el nombre del encabezado que se va a establecer. Se permiten expresiones de directiva. | Sí | N/D |
Elementos
Nombre | Descripción | Obligatorio |
---|---|---|
value | Especifica el valor del encabezado que se va a establecer. Se permiten expresiones de directiva. Para varios encabezados con el mismo nombre, agregue más elementos value . |
No |
Uso
- Secciones de directiva: entrante, saliente, back-end, on-error
- Ámbitos de la directiva: global, área de trabajo, producto, API, operación
- Puertas de enlace: clásica, v2, consumo, autohospedada y área de trabajo
Notas de uso
Varios valores de un encabezado se concatenan en una cadena CSV, por ejemplo:
headerName: value1,value2,value3
Las excepciones incluyen encabezados estandarizados, cuyos valores:
- pueden contener comas (
User-Agent
,WWW-Authenticate
,Proxy-Authenticate
) - pueden contener fechas (
Cookie
,Set-Cookie
,Warning
), - contienen fechas (
Date
,Expires
,If-Modified-Since
,If-Unmodified-Since
,Last-Modified
,Retry-After
).
En el caso de esas excepciones, varios valores de encabezado no se concatenarán en una cadena y se pasarán como encabezados independientes, por ejemplo:
User-Agent: value1
User-Agent: value2
User-Agent: value3
Se presentan las siguientes limitaciones:
- No se admite la eliminación del encabezado
Server
. - Encabezados:
Connection
,ContentLength
,KeepAlive
,TransferEncoding
no se pueden modificar ni eliminar.
Ejemplos
Agregar encabezado, invalidar existente
<set-header name="some header name" exists-action="override">
<value>20</value>
</set-header>
Quitar encabezado
<set-header name="some header name" exists-action="delete" />
Reenvío de información contextual al servicio back-end
En este ejemplo se muestra cómo aplicar directivas en el nivel de API para proporcionar información contextual al servicio back-end.
<!-- Copy this snippet into the inbound element to forward some context information, user id and the region the gateway is hosted in, to the backend service for logging or evaluation -->
<set-header name="x-request-context-data" exists-action="override">
<value>@(context.User.Id)</value>
<value>@(context.Deployment.Region)</value>
</set-header>
Para obtener más información, consulte Policy expressions (Expresiones de política) y Context variable (Variable de contexto).
Directivas relacionadas
Contenido relacionado
Para más información sobre el trabajo con directivas, vea:
- Tutorial: Transformación y protección de una API
- Referencia de directivas para una lista completa de instrucciones de directivas y su configuración
- Expresiones de directiva
- Establecimiento o edición de directivas
- Reutilización de configuraciones de directivas
- Repositorio de fragmentos de código de directiva
- Creación de directivas mediante Microsoft Copilot en Azure