HTTP: Request-Header
Die Request-Header werden ausschließlich beim Request, also bei der Anfrage des Client, verwendet.Accept
Der Accept-Header gibt an, welche Mediatypen (~ Dateitypen) der Client für diese Anfrage als Antwort erwartet. Der Mediatyp besteht aus zwei Teilen: Dem Haupt- und dem Untertyp. Beide sind durch ein Schrägstrich (/
) getrennt. Statt einem konkreten (Sub-)Typ kann auch das Sternchen verwendet werden um auszudrücken, dass alle (Sub-)Typen akzeptabel sind. Optional kann durch ein Semikolon getrennt ein Qualitätsfaktor angegeben werden. Dieser Faktor entspricht einem Wert zwischen 0 und 1 und gibt die Relevanz des Typs an. Wird der Wert nicht angegeben gilt q=1
. Bitte beachten Sie hier, dass Zwischenwerte statt mit Komma mit dem Punkt notiert werden (also 0.5
statt 0,5
). Mehrere Mediatypen werden durch Kommata voneinander getrennt. Das folgende Beispiel drückt aus, dass Dateien vom Typ text/html
erwartet werden. Sofern es diese aber nicht gibt, werden andere Dateien vom Typ text/*
bevorzugt:
Accept: text/html, text/*; q=0.9
Accept-Charset
Der Accept-Charset Header gibt den oder die Zeichensätze an, die der Client für das angeforderte Dokument erwartet. Mehrere Zeichensätze werden durch ein Kommata voneinander getrennt. Zusätzlich kann, wie beim Accept-Header ein Qualitätsfaktor angegeben werden (siehe Accept-Header).Accept-Encoding
Mit Hilfe des Accept-Encoding Headers gibt der Client an, welche Codierungsverfahren er versteht bzw. verarbeiten kann. Verwendet werden können die Verfahrengzip
bzw. x-gzip
, compress
bzw. x-compress
, deflate
und identity
(kein Verfahren). Wurden mehrere Verfahren zum Codieren verwendet, müssen diese durch Kommata getrennt werden. Zusätzlich kann, wie beim Accept-Header ein Qualitätsfaktor angegeben werden (siehe Accept-Header). Beispiel:
Accept-Encoding: gzip
Accept-Language
Der Accept-Language Header gibt an, welche Sprache der Client bevorzugt. Als Wert wird hier das Sprachkürzel (de
, fr
, en
, ...) oder eine Komma getrennte Liste von Sprachkürzeln angegeben. Zusätzlich kann, wie beim Accept-Header ein Qualitätsfaktor angegeben werden (siehe Accept-Header). Beispiel:
Accept-Language: de, en, fr
Authorization
Mittels des Authorization-Headers wird die Authentifizierung des Clients beim Server durchgeführt. HTTP 1.0 arbeitet hier nach dem BASIC-Schema. Als Wert wird dabei zuerst das WortBASIC
gefolgt von einem Leerzeichen und dem mit Base64 codierten Benutzernamen und Passwort verwendet. Benutzername und Passwort werden hierbei durch ein Doppelpunkt (:
) voneinander getrennt. Im folgenden Beispiel wird der Benutzername HTMLWorld und das Passwort Internet verwendet:
Authorization: BASIC SFRNTFdvcmxkOkludGVybmV0
Mit HTTP 1.1 wird außerdem das Verfahren Digest vorgestellt. Mehr dazu im Kapitel "Anwendungsbeispiele".Cookie
Der Cookie-Header ist zwar kein offizieller HTTP-Header, da er sehr oft verwendet wird, wollen wir dennoch hier auf ihn eingehen. Mit Hilfe des Cookie-Headers gibt der Client einen gespeicherten Cookie an den Server zurück (näheres im Kapitel "Anwendungsbeispiele"). Ein Cookie besteht dabei jeweils aus einem Namen, dem Gleichheitszeichen sowie dem dazugehörigen Wert. Mehrere Cookies werden durch Kommata voneinander getrennt. Beispiel:Cookie: name=wert
Expect
Der Expect-Header wird dazu verwendet die Erwartungen des Clients gegenüber des Servers auszudrücken. Der Client gibt hierzu als Wert entweder100-continue
(ohne Anführungszeichen) oder einen Erwartungstext an. Der Erwartungstext besteht wiederum aus einem Name=Wert
-Konstrukt. Optional können, durch ein Semikolon getrennt, weitere Parameter angegeben werden.
From
Der From-Header gibt die E-Mail-Adresse des Benutzers an. Beispiel:From: name@name.de
Host
Der Host-Header gibt den Hostnamen des Servers an, von dem die Datei abgerufen werden soll. Bei HTTP 1.0 ist dieser Wert optional - ab HTTP 1.1 ist er jedoch Pflicht. Der Header dient dazu, bei Servern die mehrere Hostnamen (pro IP) besitzen, die richtige Datei zu finden. Verwendet der Host einen Port ungleich 80, muss dieser durch einen Doppelpunkt (:
) getrennt nach dem Hostnamen angegeben werden. Beispiel:
Host: www.html-world.de:1234
If-Match
Der If-Match Header gibt dem Server an, dass dieser nur die Datei senden soll, wenn Sie zum angegebenen Entity-Tag (dem Wert) passt. Als Wert wird dazu eine in Anführungszeichen stehende Zeichenfolge verwendet (näheres dazu im Kapitel "Response-Header" im Abschnitt "ETag"). Mehrere Werte werden durch ein Komma voneinander getrennt. Alternativ kann auch der Stern (*
) verwendet werden. Er gilt als Standard, wenn der Header nicht verwendet wird und gibt an, dass alle Dateien erwünscht sind. Beispiel:
If-Match: "ga-j637d"
If-Modified-Since
Der If-Modified-Since Header weist den Server an, die Datei nur zu sende, wenn Sie seit dem als Wert angegebenen Datum verändert/erneuert wurden. Als Wert wird ein HTTP-Datum angegeben. Beispiel:If-Modified-Since: Tue, 07 Apr 2004 23:24:25 GMT
If-None-Match
Der If-None-Match Header entspricht dem Gegenteil des If-Match Headers: Er weist den Server an, die Datei nur zu senden wenn Sie dem angegebenen Entity-Tag (dem Wert) nicht entspricht. Als Wert wird dazu eine in Anführungszeichen stehende Zeichenfolge verwendet (näheres dazu im Kapitel "Response-Header" im Abschnitt "ETag"). Mehrere Werte werden durch ein Komma voneinander getrennt. Beispiel:If-None-Match: "ga-j637d"
If-Range
Der If-Range Header dient dem Zwischenspeichern von Dateien und wird zusammen mit dem Range-Header verwendet. Er teilt dem Server mit, dass dieser die fehlenden Teile einer mehrteiligen Nachricht nur dann schicken soll, wenn sich die Datei nicht geändert hat. Falls sich die Datei geändert hat, soll statt nur des eines Teils gleich die gesamte Datei geschickt werden. Als Wert wird dazu entweder der Entity-Tag (siehe Kapitel "Response-Header", Abschnitt "ETag") oder ein HTTP-Datum angegeben. Der Server schaut dann, ob die Datei nach dem Datum geändert wurde, oder ob sich in der Zwischenzeit der Entity-Tag geändert hat und verfährt entsprechend. Beispiel:If-Range: Tue, 07 Apr 2004 23:24:25 GMT
If-Unmodified-Since
Der If-Unmodified-Since Header weist den Server an, die Datei nur zu senden, wenn Sie seit dem als Wert angegebenen Datum nicht verändert wurde. Als Wert wird dazu ein HTTP-Datum erwartet. Beispiel:If-Unmodified-Since: Tue, 07 Apr 2004 23:24:25 GMT
Max-Forwards
Der Max-Forwards Header kommt lediglich bei TRACE- und OPTIONS-Anfragen zum Tragen. Er gibt als Wert eine Zahl an, die den Proxies mitteilt, wie oft die Nachricht maximal weitergeleitet werden darf bis sie beim Server ankommt. Trifft eine Nachricht mit diesem Header bei einem Proxy ein, setzt dieser den angegebenen Wert um 1 herab und sendet die Nachricht an den nächsten Proxy bzw. den Server weiter. Trifft eine Nachricht mit dem Wert 0 bei einem Server ein, so leitet dieser die Nachricht nicht weiter, sondern schickt sie an den Client zurück. Beispiel:Max-Forwards: 3
Proxy-Authorization
Der Proxy-Authorization Header entspricht in etwa dem Authorization-Header mit dem Unterschied, dass dieser zur Authentifizierung des Clients bei einem Proxy dient. Im folgenden Beispiel wird der Benutzername HTMLWorld und das Passwort Internet verwendet:Proxy-Authorization: BASIC SFRNTFdvcmxkOkludGVybmV0
Mit HTTP 1.1 wird außerdem das Verfahren Digest vorgestellt. Mehr dazu im Kapitel "Anwendungsbeispiele".Range
Mit Hilfe des Range-Headers fordert der Client einen oder mehrere Bereiche einer Datei an den/die er noch benötigt. Als Wert wird dazu der Textbytes=
gefolgt von einer Bereichsbeschreibung angegeben. Die Bereichsangabe besteht aus dem Byteindex des ersten benötigten Bytes und dem Bindestrich. Optional kann anschließend eine zweite Zahl angegeben werden: Sie gibt dann den letzten benötigten Byte an. Wird die Zahl nicht angegeben, sollen alle Bytes bis zum Ende der Datei gesendet werden. Mehrere Teile werden durch Kommata voneinander getrennt. Das Beispiel fordert die Teile vom Byte 50 bis 99 sowie alle Bytes ab dem 150. Byte:
Range: bytes=50-99,150-
Referer
Der Referer-Header gibt die URL an, von der aus den Verweis auf die aktuelle Datei gefunden hat (auch als Herkunftsseite oder History beim Browser bekannt). Als Wert wird einfach eine relative oder absoluteURLangegeben. Beispiel:Referer: https://www.a-coding-project.de
TE
Mit dem TE-Header gibt der Client an, ob und welche Codierungsverfahren er für diese Anfrage zulässt und ob er Trailer (siehe Kapitel "Allgemeine-Header") bei mehrteiligen Nachrichten erlaubt. Als Wert kann das Wort trailers (wenn Trailer gestattet sind) und/oder eine durch Kommata getrennte Liste von Codierungsverfahren (siehe Transfer-Endcoding Header) angegeben werden. Zusätzlich kann, wie beim Accept-Header ein Qualitätsfaktor angegeben werden (siehe Accept-Header). Beispiel:TE: trailers, gzip;q=0.9
User-Agent
Mit dem User-Agent Header hat der Client die Möglichkeit den Server über sich selbst zu informieren. Als Wert kann der Produktname oder ein sonstiger Kommentar angegeben werden. Beispiel:User-Agent: Mozilla/4.1
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ Entity-Header
Über uns
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project