Was ist der http Request? Einfach erklärt
Das Hypertext Transfer Protocol (HTTP) definiert den Standard für die Übertragung von Webseiten. Es handelt sich um ein universelles Format, über das ein Client wie ein Browser mit einem Webserver kommuniziert und das die Struktur von Anfragen und Daten festlegt, damit beide Seiten eine eindeutige und effiziente Sprache verwenden. Dies macht es möglich, Informationen unabhängig von der Umgebung - zum Beispiel dem Betriebssystem eines Geräts - auszutauschen. Der HTTP Request bildet dabei die erste Phase und leitet die Verbindung zwischen den beiden Endpunkten ein.
Was ist der HTTP Request?
Der HTTP Request stellt eine Anfrage dar, die ein Nutzer an einen verbundenen Webspace oder Server sendet. Diese besteht aus fünf Elementen:
- Anfangszeile mit der gewählten Methode, dem Pfad und der HTTP Version
- Zusätzliche URL-Parameter, falls diese erforderlich sind
- Mehrere Zeilen Header mit detaillierten Informationen wie Browser und Betriebssystem
- Leerzeile als trennende Markierung zwischen Header und Inhalt
- Eine optionale Nachricht mit weiteren Daten
Formal besteht ein HTTP Request aus einem lesbaren Klartext, der Zeichen der ASCII-Tabelle verwendet. Bei einem Aufruf der Webseite www.example.com sähen die entscheidenden Zeilen zum Beispiel folgendermaßen aus:
GET /index.htm HTTP/1.1
Host: www.example.com
Dieser Befehl fordert den Server auf, die angegebene Ressource index.php aus dem Speicher abzurufen und an den Client zu senden. Die Version HTTP 1.1 baut dabei für jeden HTTP Request eine eigene Verbindung auf, seit der Einführung 2.0 im Jahr 2015 werden diese jedoch durch Multiplexing gebündelt und simultan über einen einzigen Header übertragen. Um die Performance zu optimieren, wird jedoch in der Regel versucht, die Zahl der Requests auf ein Minimum zu beschränken.
Welche Methoden unterscheidet ein HTTP Request?
Es gibt mehrere unterschiedliche Wege, damit ein Client dem Server zusätzliche Informationen übermitteln kann. Diese werden als Methoden bezeichnet und leiten einen HTTP Request ein, um seine Struktur und die Art der Verarbeitung festzulegen. Die häufigsten unter ihnen sind:
- GET für das Abrufen von Inhalten
- POST erlaubt die Übermittlung von Daten an der Server
- HEAD beschränkt die Nachricht auf den Header ohne Inhalt
- TRACE ermöglicht die Fehlersuche, indem der Server Anfragen spiegelt und zurücksendet
- CONNECT für den Aufbau von SSL-Tunneln auf Proxyservern
- PUT bewirkt das direkte Hochladen von Dateien
- DELETE löscht eine vorhandene Ressource auf dem Server
Die mit Abstand wichtigsten Methoden darunter sind GET und POST, da sie den Abruf einer Webseite ermöglichen. Sie dienen jedoch ebenfalls der Interaktion, indem sie zusätzliche Informationen übermitteln, um zum Beispiel eine Suche durchzuführen oder ein Formular auszufüllen. Der HTTP Request dient deshalb nicht allein dem Aufbau einer Verbindung - er entscheidet ebenfalls darüber, welche Optionen eine Webseite zur Verfügung stellt.
Was sind URL-Parameter und welche Aufgabe erfüllen sie?
In der Regel verwenden Webseiten die GET-Methode, da sie sowohl einfach wie vielseitig ist. Sie bietet zudem die Möglichkeit, zusätzliche Informationen über URL-Parameter zu übermitteln. Diese bestehen aus einem Fragezeichen als Trennelement, auf das weitere Daten folgen. Diese sind in dem URL-Format codiert, das die Übermittlung von Sonderzeichen durch unterschiedliche Standards wie UTF-8 erlaubt. Ein entscheidender Nachteil entsteht jedoch dadurch, dass URL-Parameter einen sichtbaren und unverschlüsselten Teil der Adresszeile bilden. Sie eignen sich deshalb nicht für sensible Informationen wie zum Beispiel Passwörter, die stattdessen mit dem HTTP Request POST als zusätzliche Daten an den Header angehängt werden. Ist die Verbindung dabei über HTTPS gesichert, können Dritte diese nicht entschlüsseln und mitlesen.
Foto: Gerd Altmann Pixabay
1 Kommentare & Gedanken zu Was ist der http Request? Einfach erklärt
Jörg
20.10.2023Hallo, ich arbeite mich gerade in die HTTP-Thematik ein. Dieser Beitrag hat mir dabei sehr geholfen. Vielen Dank dafür! Zwei Fragen hätte ich jedoch. Frage 1: Wie kann ich mir so einen HTTP-Request ansehen? Es würde mich interessieren, wie der Code genau aussieht. Wenn ich die URL eingebe und Enter drücke, ist der HTTP-Request ja schon an den Server gesendet. Frage 2: Wie kann ich an den HTTP-Request beispielsweise ein JSON-Objekt anhängen um mit dem Request gleichzeitig Daten an den Server zu übergeben, die mit der angegebenen URL verarbeitet werden sollen. Über die Antworten würde ich mich sehr freuen. Viele Grüße aus Erfurt
Christopher
24.10.2023Hallo Jörg, freut uns, dass der Artikel für dich hilfreich ist. Zu deinen Fragen: 1) Es gibt mehrere Möglichkeiten, wie du dir HTTP-Requests anschauen kannst. Die meisten Webbrowser bieten Entwicklertools, mit denen du Netzwerkanfragen beobachten kannst. - Öffne die Entwicklertools deines Browsers (z.B. in Chrome mit F12 oder Rechtsklick und dann "Untersuchen" auswählen). - Gehe zum Tab "Netzwerk" (oder "Network"). - Lade die Webseite neu oder führe eine Aktion auf der Webseite aus. - Hier siehst du eine Liste von Netzwerkanfragen. Du kannst auf eine dieser Anfragen klicken, um Details zu sehen, einschließlich des gesendeten HTTP-Requests und der erhaltenen HTTP-Antwort. Auch mit einem Befehlszeilentool wie CURL kannst du HTTP-Requests ausführen und die Details der Anfrage und Antwort sehen. Zum Beispiel: curl -v https://www.example.com Mit dem -v-Flag (für "verbose") zeigt curl detaillierte Informationen über den Request und die Antwort an. Wenn du einfach nur den HTTP-Request-Header und die Antwort sehen möchtest, sind die Browser-Entwicklertools oder curl wahrscheinlich am einfachsten zu verwenden. Für tiefergehende Analysen oder um den Verkehr in Echtzeit zu überwachen, müsstest du hingegen Netzwerktools wie Wireshark oder ein Proxy-Tool wie Fiddler nutzen. 2) Das ist eher eine Frage für einen richtigen Programmierer ;-) Um ein JSON-Objekt mit einem HTTP-Request zu übermitteln, verwendest du normalerweise den HTTP-POST- oder PUT-Methoden, abhängig von dem, was du tun möchtest (z.B. Daten erstellen vs. aktualisieren). Die genaue Methode hängt von der API oder dem Service ab, mit dem du interagierst. Vielleicht helfen dir da folgende Links weiter: https://www.tutorials.de/threads/webservice-json-objekt-uebergeben.332805/ https://reqbin.com/req/4rwevrqh/post-json-example
Schreibe einen Kommentar
- HTTP
Tags zu diesem Artikel
Weitere Webhoster
Weitere interessante Artikel
Statuscode 302 - was bedeutet er und wie wirkt er sich aus?
Der Statuscode 302 sollte nur in wenigen Fällen genutzt werden. Wir zeigen euch, wo die Nutzung Sinn ergibt.
Fehler 401 - wie lässt sich der HTTP Error Unauthorized beheben?
Wir zeigen euch wie ihr einfach den Fehler 401 unauthorized beheben könnt.
HTTP Error Service Unavailable 503: Ursache und Lösung von Fehler 503
Wir erklären den Server Fehler 503 inkl. Lösungsansätzen. Wir helfen weiter!
11 Tricks für deine htaccess Datei - so funktioniert die htaccess
Wir zeigen euch 11 Tricks und Hacks wir ihr das maximale eurer htaccess Datei rausholen könnt.
Was ist die robots.txt und wie funktioniert sie?
Wir zeigen euch, was ihr Mithilfe der robots.txt Datei machen könnt und so Suchmaschinen und andere Bots von der Indexie...
http Error 522 - Connection timed out - so behebst du den Fehler
Der Fehler http Error 522 - Connection timed out - so behebst du den Fehler.
Im Jahr 2006 riefen wir hosttest ins Leben, um den Webhosting Markt im DACH-Raum transparenter zu machen. Mit derzeit über 400 Webhostern und über 10.000 Angeboten bieten wir dir die beste Grundlage, den für dich passenden Anbieter für Hosting-Leistungen zu finden.
Seit 2015 küren wir zudem alljährlich unsere Webhoster des Jahres und würden uns in Zukunft auch über deine Stimme freuen.
Mehr über uns...