Установка заголовка
ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API
Политика set-header
назначает значение существующему заголовку HTTP-ответа или запроса или добавляет новый ответ и /или заголовок запроса.
Используйте политику для вставки списка заголовков HTTP в HTTP-сообщение. Если эта политика находится во входящем конвейере, она устанавливает HTTP-заголовки для запроса, передаваемого в целевую службу. Если эта политика находится в исходящем конвейере, она устанавливает HTTP-заголовки для ответа, отправляемого клиенту шлюза.
Примечание.
Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Чтобы помочь вам настроить эту политику, портал предоставляет интерактивный редактор на основе форм. Узнайте, как устанавливать или изменять политики службы управления API.
Правило политики
<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>
Атрибуты
Имя. | Описание | Обязательное поле | По умолчанию. |
---|---|---|---|
exists-action | Указывает действие, которое необходимо предпринять, когда заголовок уже указан. Атрибут должен иметь одно из следующих значений: - override — заменяет значение существующего заголовка.- skip — не заменяет существующее значение заголовка.- append — добавляет значение к существующему значению заголовка.- delete — удаляет заголовок из запроса.Если задано значение override , при перечислении нескольких записей с одинаковым именем заголовок устанавливается в соответствии со всеми записями (которые будут перечислены несколько раз). В результате будут заданы только перечисленные значения. Допустимы выражения политики. |
No | override |
name | Указывает имя заголовка, которое должно быть установлено. Допустимы выражения политики. | Да | Н/П |
Элементы
Имя | Описание | Обязательное поле |
---|---|---|
значение | Определяет значение заголовка, который будет установлен. Допустимы выражения политики. Для нескольких заголовков с одинаковым именем добавьте дополнительные value элементы. |
No |
Использование
- Разделы политики: inbound, outbound, backend, on-error.
- Области политики: глобальная, рабочая область, продукт, API, операция
- Шлюзы: классическая, версия 2, потребление, локальное размещение, рабочая область
Примечания об использовании
Несколько значений заголовка сцепляются в строку CSV, как показано на примере ниже.
headerName: value1,value2,value3
Исключения включают в себя стандартизированные заголовки, значения которых:
- может содержать запятые (
User-Agent
,WWW-Authenticate
,Proxy-Authenticate
) - могут содержать дату (
Cookie
,Set-Cookie
,Warning
); - содержат дату (
Date
,Expires
,If-Modified-Since
,If-Unmodified-Since
,Last-Modified
,Retry-After
).
В случае этих исключений несколько значений заголовков не будут объединены в одну строку и будут переданы в виде отдельных заголовков, например:
User-Agent: value1
User-Agent: value2
User-Agent: value3
Действительны следующие ограничения.
- Удаление заголовка
Server
не поддерживается. - Заголовки:
Connection
,ContentLength
,KeepAlive
TransferEncoding
не могут быть изменены или удалены.
Примеры
Добавление заголовка, переопределение существующего
<set-header name="some header name" exists-action="override">
<value>20</value>
</set-header>
Удалить заголовок
<set-header name="some header name" exists-action="delete" />
Пересылка контекстных сведений во внутреннюю службу
В этом примере показано, как применить политику на уровне API для предоставления контекстных сведений внутренней службе.
<!-- 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>
Чтобы узнать больше, см. статью API Management policy expressions (Выражения политики управления API) и раздел Context variable (Переменная контекста).
Связанные политики
Связанный контент
Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.
- Руководство. Преобразование и защита API
- Полный перечень операторов политик и их параметров см. в справочнике по политикам.
- Выражения политики
- Настройка или изменение политик
- Повторное использование конфигураций политик
- Репозиторий фрагментов политик
- Создание политик с помощью Microsoft Copilot в Azure