HTTP-Header

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Allgemein

HTTP-Header-Felder liefern erforderlichen Informationen über die Anforderung oder eine Antwort, oder über das Objekt im Nachrichtentext gesendet.

Es gibt vier Arten von HTTP-Headern

  • Allgemein-Header: Diese Header-Felder haben allgemeine Anwendbarkeit sowohl für Anforderungs- und Antwortnachrichten.
  • Client-Anfrage-Header: Diese Header-Felder haben Anwendbarkeit nur für Anforderungsnachrichten .
  • Server-Antwort-Header: Diese Header-Felder haben nur Geltung für Antwortnachrichten.
  • Entität-header: Diese Header-Felder definieren Metainformationen über das Daten-Inhalts oder, wenn kein Körper vorhanden ist, über die Ressource durch die Anforderung identifizierte.

Request Anfragen

  • Es gibt zwei Arten von Anfragen GET und POST

Get

  • Bei Get werden die Daten gesendet werden sollen, direkt in die URL geschrieben.
  • etwa so www.xinux.de/register.php?firstname=thomas&name=will&age=55&gender=male
  • Sämtliche vom Benutzer eingegebenen Informationen werden so offen übermittelt wie die URL selbst

Vorteile

  • URL-Parameter können zusammen mit der Website-Adresse gespeichert werden.
  • Suchanfrage als können als Lesezeichen anlegt werden
  • Die Seite lässt sich bei Bedarf auch über den Browserverlauf wieder zurückholen.

Nachteile

  • fehlende Datenschutz.
  • mitgesendeten URL-Parameter sind für jedermann in der Browser-Adresszeile sichtbar
  • unverschlüsselt im Browserverlauf, im Cache und im Logfile des Servers abgelegt.
  • kann keine binäre Daten enthalten

POST

  • schreibt die URL-Parameter in den HTTP-Request
  • für Benutzer nicht sichtbar.
  • Umfang der POST-Anfragen ist unbeschränkt

Vorteile

  • wenn sensible Daten an den Server zu übermitteln ist die POST-Methode die bessere Wahl
  • Daten werden nicht im Cache gespeichert
  • Daten erscheinen nicht im Browserverlauf.
  • Man kann auch binäre Daten so übetragen

Nachteile

  • Bei einer Aktualisierung einer Webseite mit einem Formular müssen die Formulardaten nochmals übermittelt werden
  • Gefahr, dass Daten versehentlich mehrmals gesendet werden
  • Es gibt Mechanismen die solche Probleme abfangen

Beispiele von Headern

Client-Anfrage

GET / HTTP/1.1
Host: www.xinux.de
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Te: trailers
Connection: close
Erklärungen
  • Host: Domain-Name des Servers
  • User-Agent: Welcher Browser wird genutzt
  • Accept: Welche Inhaltstypen der Client verarbeiten kann
  • Accept-Language: Gewünschte Sprachversion
  • Accept-Encoding: Welche komprimierten Formate werdem unterstützt
  • Connection: Soll eine persistende oder eine nicht persistende Verbindung aufgebaut werden

Server Antwort

HTTP/2 200 OK
Content-Type: text/html; charset=UTF-8
Date: Sun, 13 Jun 2021 19:14:20 GMT
Link: <https://www.xinux.de/index.php?rest_route=/>; rel="https://api.w.org/"
Link: <https://www.xinux.de/index.php?rest_route=/wp/v2/pages/10>; rel="alternate"; type="application/json"
Link: <https://www.xinux.de/>; rel=shortlink
Server: Apache/2.4.38 (Debian)
Vary: Accept-Encoding
X-Powered-By: PHP/7.4.16
Content-Length: 13220
Erklärungen
  • Content-Type: MIME-Typ der angeforderten Datei
  • Date: Zeitpunkt der Response
  • Server: Webserver Version
  • Link: "Verwandte“ Dateien oder Ressourcen werden mitgeteilt (z. B. einen RSS-Feed, einen Favicon, Copyright-Lizenzen etc)
  • Vary: Sagt, welche Header-Felder als variierend betrachtet werden sollen, falls eine Datei aus dem Cache angefordert wird.
  • X-Powered-By: Gibt an, auf welcher Technologie (ASP.NET, PHP, JBoss u. a.) die Webapplikation basiert
  • Content-Length: Länge des Request-Bodys

Quellen