Show TOC

FunktionsdokumentationHTTP-Headerfelder löschen, hinzufügen, erweitern Dieses Dokument in der Navigationsstruktur finden

 

Eingehende HTTP-Requests können modifiziert werden, noch bevor sie an den Applikationsserver weitergeleitet werden. Sie können die HTTP-Headerfelder eines eingehenden HTTP-Request löschen, hinzufügen oder durch die Angaben von zusätzlichen Werten erweitern. Eine Zeile in der Aktionsdatei beschreibt dabei genau eine Modifikationsaktion. Die Reihenfolge in der Aktionsdatei beschreibt auch die Ausführungsreihenfolge. Sie können mehrere HTTP-Headerfeldmodifikationen hintereinander ausführen.

Funktionsumfang

Verwenden Sie folgende Syntax um HTTP-Headerfeld-Modifikationen in der Aktionsdatei zu definieren:

Syntax Syntax

  1. <headerop> <name> [<value>]
Ende des Codes

Die Groß- bzw. Kleinschreibung spielt keine Rolle.

Alle Angaben zu HTTP-Modifikationen und den betroffenen HTTP-Headerfeldern in der Syntax sind case insensitive.

Bedeutung der Syntax

<headerop>

Bezeichnet eine HTTP-Headerfeld-Modifikation. Folgende HTTP-Headerfeld-Modifikationen sind möglich:

  • RemoveHeader: Falls das Headerfeld <name> im HTTP-Request enthalten ist, wird es vor der Weiterleitung an den Applikationsserver gelöscht. RemoveHeader ist die einzige HTTP-Headerfeld-Modifikation, bei der kein Wert <value> angegeben wird

    (Syntax: RemoveHeader <name>)

  • SetHeader: Das HTTP-Headerfeld <name> wird auf den Wert <value> gesetzt. Sollte im HTTP-Request das Headerfeld bereits gesetzt sein, wird dieser Wert durch den im SetHeader festgelegten Wert überschrieben.

  • SetHeaderIfEmpty: Das HTTP-Headerfeld <name> wird auf den Wert <value> gesetzt; allerdings nur, wenn im HTTP-Request das HTTP-Headerfeld nicht gesetzt ist.

  • AppendHeader: Wenn das HTTP-Headerfeld <name> im HTTP-Request gesetzt ist, dann wird der angegebene Wert <value> an den bereits im HTTP-Request gesetzten Wert angehängt. Wenn das HTTP-Headerfeld <name> im HTTP-Request nicht gesetzt ist, wird es mit dem angegebenen Wert <value> erzeugt.

<name>

Name des HTTP-Headerfeldes.

<value>

Bei den HTTP-Headerfeld Modifikationen SetHeader, SetHeaderIfEmpty und AppendHeader gibt man durch <value> den Wert an, der je nach definierter <headerop> gesetzt, bzw. angehängt werden soll.

Beispiel

Die folgende Matrix zeigt beispielhaft die verschiedenen HTTP-Headerfeld-Modifikationsaktionen:

Beispiel A:

headerop

Header nicht gesetzt

Header gesetzt a = 5

SetHeader location 100

location = 100

location = 100

SetHeaderIfEmpty location 100

location = 100

location = 5

AppendHeader location 100

location = 100

location = 5, 100

Im Folgenden sind Beispiele angeführt, wie HTTP-Headerfeld-Modifikationen in der Aktionsdatei aussehen könnten:

Beispiel B:

Syntax Syntax

  1. SetHeader clientProtocol %{SERVER_PROTOCOL}
Ende des Codes

Das HTTP-Headerfeld <name> clientProtocol wird auf den Wert <value> der Variablen SERVER_PROTOCOL gesetzt.

Beispiel C:

Syntax Syntax

  1. SetHeader X-SAP-WEBDISP-AP %{SERVER_ACCESS_POINTS}
Ende des Codes

Das HTTP-Headerfeld <name> X-SAP-WEBDISP-AP wird auf den Wert der Variablen <value> SERVER_ACCESS_POINTS gesetzt.

Beispiel D:

Syntax Syntax

  1. RemoveHeader Referer
Ende des Codes

Das HTTP-Headerfeld Referer wird entfernt