Udostępnij za pośrednictwem


Ustaw nagłówek

DOTYCZY: Wszystkie warstwy usługi API Management

Zasady set-header przypisuje wartość do istniejącego nagłówka odpowiedzi HTTP i/lub żądania lub dodaje nową odpowiedź i/lub nagłówek żądania.

Użyj zasad, aby wstawić listę nagłówków HTTP do komunikatu HTTP. Po umieszczeniu w potoku przychodzącym te zasady ustawiają nagłówki HTTP dla żądania przekazywanego do usługi docelowej. Po umieszczeniu w potoku wychodzącym te zasady ustawiają nagłówki HTTP dla odpowiedzi wysyłanej do klienta bramy.

Uwaga

Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Aby ułatwić konfigurowanie tych zasad, portal udostępnia edytor oparty na formularzach z przewodnikiem. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.

Instrukcja zasad

<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>

Atrybuty

Imię i nazwisko/nazwa opis Wymagani Wartość domyślna
exists-action Określa akcję do wykonania, gdy nagłówek jest już określony. Ten atrybut musi mieć jedną z następujących wartości.

- override — zastępuje wartość istniejącego nagłówka.
- skip — nie zastępuje istniejącej wartości nagłówka.
- append — dołącza wartość do istniejącej wartości nagłówka.
- delete — usuwa nagłówek z żądania.

W przypadku ustawienia na overridewartość , rejestrowanie wielu wpisów o tej samej nazwie powoduje ustawienie nagłówka zgodnie ze wszystkimi wpisami (które będą wyświetlane wiele razy); w wyniku zostaną ustawione tylko wymienione wartości.

Wyrażenia zasad są dozwolone.
Nie. override
name Określa nazwę nagłówka do ustawienia. Wyrażenia zasad są dozwolone. Tak Nie dotyczy

Elementy

Nazwa/nazwisko opis Wymagania
wartość Określa wartość nagłówka, który ma być ustawiony. Wyrażenia zasad są dozwolone. W przypadku wielu nagłówków o tej samej nazwie dodaj dodatkowe value elementy. Nie.

Użycie

  • Sekcje zasad: ruch przychodzący, wychodzący, zaplecze, błąd
  • Zakresy zasad: globalny, obszar roboczy, produkt, interfejs API, operacja
  • Bramy: klasyczne, v2, zużycie, self-hosted, obszar roboczy

Uwagi dotyczące użycia

Wiele wartości nagłówka jest połączonych z ciągiem CSV, na przykład:

headerName: value1,value2,value3

Wyjątki obejmują ustandaryzowane nagłówki, których wartości:

  • może zawierać przecinki (User-Agent, WWW-Authenticate, Proxy-Authenticate)
  • może zawierać datę (Cookie, Set-Cookie, Warning),
  • zawierają datę (Date, Expires, , If-Unmodified-SinceIf-Modified-Since, Last-Modified, Retry-After).

W przypadku tych wyjątków wiele wartości nagłówka nie zostanie połączonych w jeden ciąg i zostanie przekazanych jako oddzielne nagłówki, na przykład:

User-Agent: value1
User-Agent: value2
User-Agent: value3

Obowiązują następujące ograniczenia:

  • Usunięcie nagłówka Server nie jest obsługiwane.
  • Nagłówki: Connection, , KeepAliveContentLength, TransferEncoding nie można modyfikować ani usuwać.

Przykłady

Dodawanie nagłówka, zastępowanie istniejącego

<set-header name="some header name" exists-action="override">
    <value>20</value>
</set-header>

Usuń nagłówek

 <set-header name="some header name" exists-action="delete" />

Przekazywanie informacji kontekstowych do usługi zaplecza

W tym przykładzie pokazano, jak zastosować zasady na poziomie interfejsu API w celu dostarczenia informacji kontekstowych do usługi zaplecza.

<!-- 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>

Aby uzyskać więcej informacji, zobacz Wyrażenia zasad i Zmienna kontekstowa.

Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz: