1. Introduction (Einführung)
1. Introduction (Einführung)
HTTP-Vermittler (siehe Abschnitt 3.7 von [HTTP]) -- einschließlich sowohl Forward-Proxies als auch Gateways (auch bekannt als "Reverse Proxies") -- sind zu einem zunehmend wichtigen Bestandteil von HTTP-Bereitstellungen geworden. Insbesondere bilden Reverse-Proxies und Content Delivery Networks (CDNs) einen Teil der kritischen Infrastruktur vieler Websites.
Typischerweise leiten HTTP-Vermittler Anfragen zum Ursprungsserver weiter (eingehend) und leiten dann ihre Antworten zurück zu den Clients (ausgehend). Wenn jedoch ein Fehler auftritt, bevor eine Antwort von einem eingehenden Server erhalten wird, wird die Antwort oft vom Vermittler selbst generiert.
HTTP behandelt diese Arten von Fehlern mit einigen Statuscodes -- zum Beispiel 502 (Bad Gateway, fehlerhaftes Gateway) und 504 (Gateway Timeout, Gateway-Zeitüberschreitung). Die Erfahrung hat jedoch gezeigt, dass mehr Informationen notwendig sind, um das Debugging zu unterstützen und dem Client mitzuteilen, was passiert ist. Darüber hinaus möchten Vermittler manchmal zusätzliche Informationen über ihre Behandlung einer Antwort übermitteln, selbst wenn sie diese nicht generiert haben.
Um diese Verwendungen zu ermöglichen, definiert Abschnitt 2 ein neues HTTP-Antwortfeld, das es Vermittlern ermöglicht, Details ihrer Behandlung einer Antwort zu übermitteln. Abschnitt 2.1 listet die Informationen auf, die von Vermittlern zum Feld hinzugefügt werden können, die gemäß Abschnitt 2.2 erweitert werden können. Abschnitt 2.3 definiert eine Reihe von Fehlertypen zur Verwendung, wenn ein Proxy auf ein Problem stößt, wenn er eine Antwort für die Anfrage erhält; diese können ebenfalls gemäß Abschnitt 2.4 erweitert werden.
1.1. Notational Conventions (Notationskonventionen)
Die Schlüsselwörter "MUST (MUSS)", "MUST NOT (DARF NICHT)", "REQUIRED (ERFORDERLICH)", "SHALL (SOLL)", "SHALL NOT (SOLL NICHT)", "SHOULD (SOLLTE)", "SHOULD NOT (SOLLTE NICHT)", "RECOMMENDED (EMPFOHLEN)", "NOT RECOMMENDED (NICHT EMPFOHLEN)", "MAY (KANN)" und "OPTIONAL (OPTIONAL)" in diesem Dokument sind wie in BCP 14 [RFC2119] [RFC8174] beschrieben zu interpretieren, wenn und nur wenn sie in Großbuchstaben erscheinen, wie hier gezeigt.
Dieses Dokument verwendet die folgende Terminologie aus Abschnitt 3 von [STRUCTURED-FIELDS] zur Spezifikation der Syntax und des Parsings: List (Liste), String (Zeichenkette), Token, Integer (Ganzzahl) und Byte Sequence (Bytesequenz).
Beachten Sie, dass in dieser Spezifikation "proxy" verwendet wird, um sowohl Forward- als auch Reverse-Proxies anzuzeigen, auch bekannt als Gateways. "Next hop (nächster Hop)" bezeichnet die Verbindung in Richtung des Ursprungsservers für die Anfrage.