HTTP-Header

HTTP-Header ermöglichen es dem Client und dem Server, zusätzliche Informationen mit einer Nachricht in einer Anfrage oder Antwort zu übermitteln. In HTTP/1.X ist ein Header ein nicht unterscheidungssensitiver Name gefolgt von einem Doppelpunkt, dann optionalen Leerzeichen, die ignoriert werden, und schließlich von seinem Wert (zum Beispiel: Allow: POST). In HTTP/2 und höher werden Header in Kleinbuchstaben angezeigt, wenn sie in Entwicklertools betrachtet werden (accept: */*), und mit einem Doppelpunkt für eine spezielle Gruppe von Pseudo-Headern (:status: 200) versehen. Weitere Informationen zur Syntax in jeder Protokollversion finden Sie auf der Seite HTTP-Nachrichten.

Benutzerdefinierte proprietäre Header wurden historisch mit einem X- Präfix verwendet, aber diese Konvention wurde 2012 aufgrund der Unannehmlichkeiten, die sie verursachte, wenn nicht standardisierte Felder in RFC 6648 standardisiert wurden, eingestellt; andere sind im IANA HTTP Field Name Registry aufgelistet, dessen ursprünglicher Inhalt in RFC 4229 definiert wurde. Das IANA-Register listet Header auf, einschließlich Informationen über ihren Status.

Header können entsprechend ihrer Kontexte gruppiert werden:

Anforderungsheader

Enthalten mehr Informationen über die abzurufende Ressource oder über den Client, der die Ressource anfordert.

Antwort-Header

Enthalten zusätzliche Informationen über die Antwort, wie zum Beispiel ihren Standort oder den Server, der sie bereitstellt.

Darstellungs-Header

Enthalten Informationen über den Körper der Ressource, wie ihren MIME-Typ oder die angewandte Kodierung/Kompression.

Payload-Header

Enthalten darstellungsunabhängige Informationen über Payload-Daten, einschließlich der Inhaltslänge und der für den Transport verwendeten Kodierung.

Header können auch entsprechend der Handhabung durch Proxies gruppiert werden:

Ende-zu-Ende-Header

Diese Header müssen an den endgültigen Empfänger der Nachricht gesendet werden: den Server für eine Anfrage oder den Client für eine Antwort. Zwischenproxies müssen diese Header unverändert weiterleiten und Caches müssen sie speichern.

Hop-by-Hop Header

Diese Header sind nur für eine einzelne Transportverbindung bedeutend und dürfen nicht von Proxies weitergeleitet oder gecacht werden. Beachten Sie, dass nur Hop-by-Hop-Header mithilfe des Connection Headers festgelegt werden dürfen.

Authentifizierung

WWW-Authenticate

Definiert die Authentifizierungsmethode, die verwendet werden sollte, um auf eine Ressource zuzugreifen.

Authorization

Enthält die Anmeldedaten, um einen User-Agent bei einem Server zu authentifizieren.

Proxy-Authenticate

Definiert die Authentifizierungsmethode, die verwendet werden sollte, um auf eine Ressource hinter einem Proxy-Server zuzugreifen.

Proxy-Authorization

Enthält die Anmeldedaten, um einen User-Agent bei einem Proxy-Server zu authentifizieren.

Caching

Age

Die Zeit in Sekunden, die das Objekt in einem Proxy-Cache war.

Cache-Control

Direktiven für Caching-Mechanismen sowohl in Anfragen als auch in Antworten.

Clear-Site-Data

Löscht Browserdaten (z. B. Cookies, Speicher, Cache), die mit der anfordernden Website verknüpft sind.

Expires

Das Datum/Zeit, nach dem die Antwort als veraltet angesehen wird.

Gibt einen Satz von Regeln an, die bestimmen, wie die Abfrageparameter einer URL das Cache-Matching beeinflussen. Diese Regeln bestimmen, ob dieselbe URL mit unterschiedlichen URL-Parametern als separate Browser-Cache-Einträge gespeichert werden soll.

Bedingte Anfragen

Last-Modified

Das Datum der letzten Änderung der Ressource, das verwendet wird, um mehrere Versionen derselben Ressource zu vergleichen. Es ist weniger genau als ETag, aber in einigen Umgebungen einfacher zu berechnen. Bedingte Anfragen mit If-Modified-Since und If-Unmodified-Since verwenden diesen Wert, um das Verhalten der Anfrage zu ändern.

ETag

Eine eindeutige Zeichenfolge, die die Version der Ressource identifiziert. Bedingte Anfragen mit If-Match und If-None-Match verwenden diesen Wert, um das Verhalten der Anfrage zu ändern.

If-Match

Macht die Anfrage bedingt und wendet die Methode nur an, wenn die gespeicherte Ressource mit einem der angegebenen ETags übereinstimmt.

If-None-Match

Macht die Anfrage bedingt und wendet die Methode nur an, wenn die gespeicherte Ressource nicht mit einem der angegebenen ETags übereinstimmt. Dies wird verwendet, um Caches zu aktualisieren (für sichere Anfragen) oder um zu verhindern, dass eine neue Ressource hochgeladen wird, wenn bereits eine existiert.

If-Modified-Since

Macht die Anfrage bedingt und erwartet, dass die Ressource nur übertragen wird, wenn sie nach dem angegebenen Datum geändert wurde. Dies wird verwendet, um Daten nur zu übertragen, wenn der Cache veraltet ist.

If-Unmodified-Since

Macht die Anfrage bedingt und erwartet, dass die Ressource nur übertragen wird, wenn sie nicht nach dem angegebenen Datum geändert wurde. Dies stellt die Kohärenz eines neuen Fragments eines bestimmten Bereichs mit vorherigen Fragmenten sicher oder implementiert ein optimistisches System zur Steuerung der Gleichzeitigkeit bei der Änderung vorhandener Dokumente.

Vary

Bestimmt, wie Anforderungsheader abgeglichen werden, um zu entscheiden, ob eine gecachte Antwort verwendet werden kann, anstatt eine neue vom Ursprungsserver anzufordern.

Verbindungsverwaltung

Connection

Steuert, ob die Netzwerkverbindung nach Abschluss der aktuellen Transaktion geöffnet bleibt.

Keep-Alive

Steuert, wie lange eine persistente Verbindung geöffnet bleiben soll.

Inhaltsverhandlung

Weitere Details finden Sie im Artikel zur Inhaltsverhandlung.

Accept

Informiert den Server über die Typen von Daten, die zurückgesendet werden können.

Accept-Encoding

Der Kodierungsalgorithmus, normalerweise ein Kompressionsalgorithmus, der auf die zurückgesendete Ressource angewendet werden kann.

Accept-Language

Informiert den Server über die menschliche Sprache, die der Server zurücksenden soll. Dies ist ein Hinweis und nicht unbedingt unter der vollständigen Kontrolle des Benutzers: Der Server sollte immer darauf achten, eine explizite Benutzerwahl (wie die Auswahl einer Sprache aus einem Dropdown) nicht zu überschreiben.

Accept-Patch

Ein Verhandlungsheader für Anfrageninhalt, der angibt, welchen Medientyp der Server in einer PATCH-Anfrage verstehen kann.

Accept-Post

Ein Verhandlungsheader für Anfrageninhalt, der angibt, welchen Medientyp der Server in einer POST-Anfrage verstehen kann.

Kontrollen

Expect

Gibt Erwartungen an, die vom Server erfüllt werden müssen, um die Anfrage ordnungsgemäß zu bearbeiten.

Max-Forwards

Gibt an, bei Nutzung von TRACE, wie viele Hops die Anfrage machen kann, bevor sie an den Absender zurückgegeben wird.

Cookies

Enthält gespeicherte HTTP-Cookies, die zuvor vom Server mit dem Set-Cookie Header gesendet wurden.

Sendet Cookies vom Server an den User-Agent.

CORS

Für weitere Informationen lesen Sie die CORS-Dokumentation.

Access-Control-Allow-Credentials

Gibt an, ob die Antwort auf die Anfrage exponiert werden kann, wenn das Berechtigungsflag wahr ist.

Access-Control-Allow-Headers

Wird als Antwort auf eine Preflight-Anfrage verwendet, um anzugeben, welche HTTP-Header bei der tatsächlichen Anfrage verwendet werden können.

Access-Control-Allow-Methods

Gibt an, welche Methoden bei der Zugriffsaufnahme auf die Ressource als Antwort auf eine Preflight-Anfrage erlaubt sind.

Access-Control-Allow-Origin

Zeigt an, ob die Antwort geteilt werden kann.

Access-Control-Expose-Headers

Gibt an, welche Header als Teil der Antwort exponiert werden können, indem ihre Namen aufgelistet werden.

Access-Control-Max-Age

Gibt an, wie lange die Ergebnisse einer Preflight-Anfrage im Cache bleiben können.

Access-Control-Request-Headers

Wird bei der Ausgabe einer Preflight-Anfrage verwendet, um dem Server mitzuteilen, welche HTTP-Header verwendet werden, wenn die tatsächliche Anfrage gemacht wird.

Access-Control-Request-Method

Wird bei der Ausgabe einer Preflight-Anfrage verwendet, um dem Server mitzuteilen, welche HTTP-Methode bei der tatsächlichen Anfrage verwendet wird.

Origin

Gibt an, von wo ein Abruf stammt.

Timing-Allow-Origin

Gibt Ursprünge an, die die Werte der Attribute sehen dürfen, die über Funktionen der Ressourcentiming-API abgerufen werden, die andernfalls aufgrund von Cross-Origin-Einschränkungen als Null gemeldet würden.

Downloads

Content-Disposition

Gibt an, ob die übertragene Ressource inline angezeigt werden soll (Standardverhalten ohne den Header) oder ob sie wie ein Download behandelt werden soll und der Browser einen "Speichern unter"-Dialog präsentieren soll.

Integritätsdigests

Content-Digest Experimentell

Bietet einen Digest des Datenstroms von Oktetten, der in einer HTTP-Nachricht (dem Nachrichteninhalt) eingerahmt ist, abhängig von Content-Encoding und Content-Range.

Repr-Digest Experimentell

Bietet einen Digest der ausgewählten Darstellung der Zielressource vor der Übertragung. Im Gegensatz zum Content-Digest berücksichtigt der Digest nicht Content-Encoding oder Content-Range.

Want-Content-Digest Experimentell

Gibt den Wunsch nach einem Content-Digest Header an. Es ist das Content- Analoge zu Want-Repr-Digest.

Want-Repr-Digest Experimentell

Gibt den Wunsch nach einem Repr-Digest Header an. Es ist das Repr- Analoge zu Want-Content-Digest.

Informationen zum Nachrichtenkörper

Content-Length

Die Größe der Ressource in Dezimalzahlen von Bytes.

Content-Type

Gibt den Medientyp der Ressource an.

Content-Encoding

Wird verwendet, um den Kompressionsalgorithmus zu spezifizieren.

Content-Language

Beschreibt die menschliche(n) Sprache(n), die für das Publikum bestimmt sind, sodass ein Benutzer basierend auf seinen eigenen bevorzugten Spracheinstellungen unterscheiden kann.

Content-Location

Gibt einen alternativen Standort für die zurückgegebenen Daten an.

Präferenzen

Präferenzen können von Clients in Anfragen gesendet werden, um optionale Verhaltensweisen für Anfragen und Antworten anzuzeigen. Die Serverantwort kann angeben, ob eine Präferenz angewendet wurde, in Fällen, in denen sie für den Client sonst zweideutig wäre. Browser haben keine native Unterstützung für das Senden von Präferenzen über diese Header; sie werden in benutzerdefinierten, implementierungsspezifischen Clients verwendet.

Prefer

Gibt Präferenzen für bestimmte Serververhaltensweisen während der Anfrageverarbeitung an. Zum Beispiel kann es minimalen Antwortinhalt (return=minimal) oder asynchrone Verarbeitung (respond-async) anfordern. Der Server verarbeitet die Anfrage normal, wenn der Header nicht unterstützt wird.

Preference-Applied

Informiert den Client darüber, welche Präferenzen, die im Prefer-Header angegeben sind, vom Server angewendet wurden. Es ist ein reiner Antwortheader, der Transparenz über die Präferenzbehandlung bietet.

Proxies

Forwarded

Enthält Informationen von der clientseitigen Proxy-Server-Seite, die verändert oder verloren gehen, wenn ein Proxy auf dem Weg der Anfrage beteiligt ist.

Via

Wird von Proxies hinzugefügt, sowohl bei Forward- als auch bei Reverse-Proxies, und kann in den Anforderungs- und den Antwortheadern erscheinen.

Bereichsanforderungen

HTTP-Bereichsanforderungen erlauben es dem Client, einen Teil einer Ressource vom Server anzufordern. Bereichsanforderungen sind nützlich für Anwendungen wie Mediaplayer, die zufälligen Zugriff unterstützen, Datentools, die wissen, dass sie nur einen Teil einer großen Datei benötigen, und Download-Manager, die es dem Benutzer ermöglichen, einen Download zu pausieren und fortzusetzen.

Accept-Ranges

Gibt an, ob der Server Bereichsanforderungen unterstützt und, wenn ja, in welcher Einheit der Bereich ausgedrückt werden kann.

Range

Gibt den Teil eines Dokuments an, den der Server zurückgeben soll.

If-Range

Erstellt eine bedingte Bereichsanfrage, die nur erfüllt wird, wenn der angegebene ETag oder das Datum mit der Remote-Ressource übereinstimmt. Wird verwendet, um das Herunterladen von zwei Bereichen von inkompatiblen Versionen der Ressource zu verhindern.

Content-Range

Gibt an, wo in einer vollständigen Nachricht ein Teil der Nachricht hingehört.

Weiterleitungen

Location

Gibt die URL an, zu der eine Seite umgeleitet werden soll.

Refresh

Leitet den Browser an, die Seite neu zu laden oder zu einer anderen zu wechseln. Hat denselben Wert wie das meta-Element mit http-equiv="refresh".

Anforderungskontext

From

Enthält eine Internet-E-Mail-Adresse für einen menschlichen Benutzer, der den anfordernden User-Agent steuert.

Host

Gibt den Domainnamen des Servers an (für virtuelles Hosting) und (optional) die TCP-Portnummer, an der der Server lauscht.

Referer

Die Adresse der vorherigen Webseite, von der aus ein Link zur aktuell angeforderten Seite gefolgt wurde.

Referrer-Policy

Bestimmt, welche Referrer-Informationen im Referer-Header mit Anfragen enthalten sein sollen.

User-Agent

Enthält eine charakteristische Zeichenfolge, die es den Netzwerkprotokoll-Peers ermöglicht, den Anwendungstyp, das Betriebssystem, den Software-Verkäufer oder die Softwareversion des anfordernden User-Agents zu identifizieren.

Antwortkontext

Allow

Listet die HTTP-Anfragemethoden auf, die von einer Ressource unterstützt werden.

Server

Enthält Informationen über die Software, die vom Ursprungsserver verwendet wird, um die Anfrage zu bearbeiten.

Sicherheit

Cross-Origin-Embedder-Policy (COEP)

Ermöglicht einem Server, eine Einbetterrichtlinie für ein bestimmtes Dokument zu deklarieren.

Cross-Origin-Opener-Policy (COOP)

Verhindert, dass andere Domains ein Fenster öffnen/steuern.

Cross-Origin-Resource-Policy (CORP)

Verhindert, dass andere Domains die Antwort der Ressourcen lesen, auf die dieser Header angewendet wird. Siehe auch CORP-Erklärungsartikel.

Content-Security-Policy (CSP)

Steuert Ressourcen, die der User-Agent für eine bestimmte Seite laden darf.

Content-Security-Policy-Report-Only

Ermöglicht Webentwicklern, Richtlinien zu testen, indem sie ihre Auswirkungen überwachen, aber nicht durchsetzen. Diese Verletzungsberichte bestehen aus JSON-Dokumenten, die über eine HTTP-POST-Anfrage an die angegebene URI gesendet werden.

Expect-CT Veraltet

Ermöglicht es Websites, sich für die Berichterstattung und Durchsetzung der Certificate Transparency zu entscheiden, um die Verwendung missbräuchlich ausgestellter Zertifikate für diese Website zu erkennen.

Permissions-Policy

Bietet einen Mechanismus, um die Verwendung von Browser-Features innerhalb des eigenen Rahmens einer Website zu erlauben oder zu verweigern und in