6.1 Arten von Überschriften

Die HTTP-Anforderungsheader sind eigentlich Dienstinformationen für den http-Client und den http-Server. Aber es ist sehr wichtig, und wenn Sie sie überhaupt nicht verstehen, wird es für Sie oft schiefgehen. Lesen Sie also zumindest etwas darüber.

Alle http-Header können in 4 Hauptgruppen unterteilt werden:

# Header-Typ Beschreibung Notiz
1 Allgemeine Überschriften Allgemeine Überschriften Wird in Anfragen und Antworten verwendet
2 Header anfordern Header anfordern Wird nur in Anfragen verwendet
3 Antwortheader Antwortheader Wird nur in Antworten verwendet
4 Entitätsheader Entitätsheader Begleiten Sie jede Nachrichtenentität

6.2 Benutzeragent

Der wichtigste und beliebteste Header ist User-Agent . Dies ist eine spezielle Zeichenfolge, die beschreibt, welcher Client die Anfrage an den Server stellt. Dies ist der Name des Kunden.

Häufig passt der Server seine Antwort leicht an den Anforderer an. Wenn beispielsweise aus der Anfrage klar hervorgeht, dass die Anfrage von einem Mobiltelefonbrowser stammt, kann eine mobile Version der HTML-Seite bereitgestellt werden.

Es ist nicht ungewöhnlich, dass Spambots, Download-Manager und einige Browser gefälschte User-Agent-Strings senden, um sich als legitime Kunden auszugeben. Diese Situation wird als User-Agent-Spoofing oder User-Agent-Spoofing bezeichnet.

Mein User-Agent sieht jetzt zum Beispiel so aus:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0

Es enthält Informationen über den Browser, das Betriebssystem und die Web-Engine des Browsers.

6.3 Inhaltstyp

Der zweitbeliebteste Header ist Content-Type . Es wird verwendet, um den MIME-Typ der Ressource zu bestimmen, die der Server bereitstellt.

Schon zu Beginn des Internets wurden die Arten der übertragenen Medieninhalte aus Bequemlichkeitsgründen standardisiert. Sie werden Internet Media Types oder kurz MimeTypes genannt . Sie fallen in 9 Kategorien:

  • Anwendung
  • Audio-
  • Beispiel
  • Bild
  • Nachricht
  • Modell
  • mehrteilig
  • Text
  • Video

Beispiele:

Kategorie Typ Beschreibung
Audio- Audio/mp4 Audiodatei im mp4-Format
Audio/AAC AAC-Audiodatei
Bild Bild/Gif GIF-Bild
Bild/JPEG JPEG-Bild
Bild/PNG Bild png
Text Text/CSS CSS-Datei
text/html HTML-Datei
Video Video/mpeg Videodatei im MPEG-Format
Video/Webm Videodatei im Webm-Format
Video/3gpp Videodatei im 3gpp-Format
Anwendung application/x-www-form-urlencoded Verschlüsselte Daten
Anwendung/zip Zip-Archiv
Anwendung/Javascript JavaScript
application/xml XML

Normalerweise weiß der Server, welche Daten er liefert. Wenn Sie jedoch eine Serverantwort mit Ihrem eigenen Code generieren, müssen Sie den Antworttyp (Content-Type) Ihres Servers angeben.

6.4 Inhaltslänge

Dieser Header gibt die Länge der Antwort des Servers an . Wenn auf einfache Weise, dann die Größe der angegebenen Datei. Sie müssen diese Option nicht manuell festlegen. Obwohl es nützlich sein kann, sich anzusehen, was der Server gegeben hat, wenn aus irgendeinem Grund die Antwort nicht alle kam.

6.5 Kodierung akzeptieren

Mit diesem Header kann der Client dem Server mitteilen, dass er verschiedene Algorithmen zur Inhaltskomprimierung unterstützt . So kann der Server den Inhalt zunächst beispielsweise mit einem Zip-Archiv archivieren, ihn dann an den Client senden und der Client kann den Originalinhalt korrekt wiederherstellen.

Der Vorteil der Archivierung besteht darin, dass die Übertragung umso schneller erfolgt, je kleiner die Datei ist. Nachteile der Archivierung – zusätzliche Belastung des Clients und des Servers. Bei der Übertragung großer Dateien ist eine Archivierung sinnvoll, bei der Übertragung kleinerer Dateien oft nicht.

Ein Beispiel für einen solchen Header:

Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5

Wo deflateund gzipsind die unterstützten Datenkomprimierungsalgorithmen und qgibt den Grad der Komprimierung an.