Wie HTTP funktioniert und warum es wichtig ist - Erklärt in einfachem Englisch

Stellen Sie sich vor, Ihr Haus ist ein riesiger Computer. Anstelle der Goodison Street oder der 4th Avenue besteht Ihre Privatadresse aus Nummern. Zum Beispiel: 112.231.31.20.

Wie in einem futuristischen Film besteht Ihre Stadt hauptsächlich aus High-Tech-Robotern am Himmel, die von Haus zu Haus gehen, ihre Nachrichten übermitteln und Antworten tragen.

Hast du das Bild?

Ein Überblick über die Funktionsweise des Internets

Etwas vereinfacht passiert Folgendes, wenn Sie eine Webadresse in Ihren Browser eingeben:

  • Es findet die Adresse des „Hauses“, an das Sie die Anfrage senden möchten
  • Es sendet die Anfrage mit dem Roboter-Postboten
  • Es wartet geduldig auf die Antwort des Roboterpostboten

All dies wird Ihnen als Endbenutzer entzogen. Sie geben die Webadresse in den Browser ein und die Webseite erscheint wie Magie vor Ihren Augen.

Wie bei jeder ausreichend fortschrittlichen Technologie wäre der durchschnittliche Benutzer ohne diese Abstraktionen nicht in der Lage, das Internet zu nutzen.

Meistens müssen Sie sich keine Gedanken darüber machen, wie etwas funktioniert - Sie müssen nur wissen, dass es funktioniert.

Bei bestimmten Motiven ist es jedoch hilfreich, ein wenig tiefer in die Schrauben und Muttern einzutauchen oder nur den Juckreiz der Neugier zu kratzen.

Wenn Sie diesen Artikel lesen, werden Sie kein Experte für die technischen Details des Internets - das kostet viel mehr Zeit und Mühe -, aber Sie erhalten eine Vogelperspektive und ein besseres Verständnis.

Wenn Sie feststellen, dass Sie mehr erfahren möchten, habe ich auf YouTube eine Wiedergabeliste, die ausführlicher behandelt wird.

Das Nachrichtensystem

Aus der Metapher am Anfang dieses Artikels haben wir erfahren, dass das Internet aus Nachrichten besteht, die weitergegeben werden. Zum größten Teil werden diese Nachrichten über das sogenannte HTTP-Protokoll gesendet.

Protokoll. Das ist ein gruseliges Wort. Das ist eine Augenglasur über und schließen Sie den Worttyp Ihres Browsers. Lassen Sie es uns also in einfachere Begriffe zerlegen.

Ein Protokoll ist nur ein schickes Wort für Übereinstimmung.

Lassen Sie es uns mit einer Analogie klarer machen.

Sagen Sie, Sie und Ihr bester Freund hinterlassen sich gegenseitig geheime Nachrichten. Wenn Sie vor Ihrer Haustür ein Stück Papier mit dem Wort „Ballfoot“ finden, wissen Sie, dass Ihr Freund Sie heute Abend um 20:00 Uhr zum Fußball treffen möchte.

Sie wissen das, weil Sie zugestimmt haben, dass das Wort „Ballfoot“ auf einem Blatt Papier, das an Ihr Haus geliefert wird, eine Einladung zum Spielen darstellt.

Jetzt tritt ein Problem auf, wenn Sie Ihren anderen Freunden die Notiz „Ballfoot“ hinterlassen, ohne ihnen die geheime Bedeutung mitzuteilen. Sie würden nicht wissen, was sie mit den Informationen anfangen sollten.

Sie würden die Notiz vor ihrer Haustür finden, sich eine Minute am Kopf kratzen und dann in ihrem Wohnzimmer weiter Fortnite spielen. Und du und dein anderer Freund würden den Ball zwischen dir weitergeben. Hin und her. Hin und her. Bis die Langeweile unerträglich wird und Sie beide nach Hause gehen.

Aber so muss es nicht sein. Was ist, wenn Sie Ihren Freunden sagen, was „Ballfuß“ bedeutet? Jetzt würde jeder Ihrer Freunde die Vereinbarung kennen und teilen, dass die Notiz mit dem Weltfußball bedeutet, um 20:00 Uhr vor dem örtlichen Gericht zu erscheinen und Fußball zu spielen.

Erfolg.

Dies ist im Wesentlichen das, was das HTTP-Protokoll darstellt. Wir haben vereinbart, dass der Server eine Nachricht auf eine bestimmte Weise sendet und im Gegenzug eine Antwort gibt.

Die Struktur der Nachricht

Schauen wir uns die HTTP-Vereinbarung genauer an. Es besteht aus Anfragen und Antworten. Einfach ausgedrückt, Sie fragen nach etwas und erhalten dann eine Antwort von einem so genannten Server.

Bevor wir fortfahren, ändern wir unsere Metapher von Anfang an, um die HTTP-Anforderungs- / Antwortzyklen besser zu verstehen.

Erinnerst du dich an die Roboter, die von Haus zu Haus gehen und Nachrichten tragen? Stellen Sie sich nun vor, dass all diese Roboter jemandem gehören.

Sie haben Ihren eigenen persönlichen Roboter und können ihn bitten, mit Nachrichten an eine beliebige Adresse (IP-Adresse) zu gehen. Sobald Ihr Roboter mit Ihrer Nachricht an der angegebenen Adresse ankommt, wird er eintreten und mutig verkünden, dass er eine Nachricht zuzustellen hat. Dann wird die Nachricht gesprochen.

Stellen Sie sich der Metapher halber vor, dass die Türen zu den Häusern (Servern) wie der Eingang zu den Minen von Moria in Herr der Ringe sind. Nur wenn die Wörter richtig gesprochen werden, öffnet sich die Tür und lässt Sie herein.

In diesem Fall erhalten Ihre Roboter nur dann eine Antwortnachricht, die sie an Sie zurücksenden können, wenn sie die Nachricht auf eine bestimmte Weise sprechen.

Dies ist das HTTP-Protokoll bei der Arbeit. Es gibt einen vordefinierten Satz von Regeln, die bestimmen, wie die Anforderungs- und Antwortnachrichten aussehen.

An diesem Punkt fragen Sie sich möglicherweise, woher diese Nachrichten stammen. Sie schreiben sie sicherlich nicht selbst, wenn Sie die Website-Adresse in Ihren Webbrowser eingeben.

Nun, alles wird automatisch vom Browser für Sie erledigt. Wenn Sie eine Adresse eingeben, erstellt Ihr Browser die HTTP-Anforderungsnachricht für Sie und sendet sie an den Server. Die HTTP-Anforderungsnachricht sieht folgendermaßen aus:

GET / HTTP/1.1 Host: google.com User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9, image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 ...etc

Es sieht beängstigend aus, oder?

Gut, dass der Browser dies für uns erledigt.

Schauen wir uns nur die erste Zeile genauer an : GET / HTTP/1.1. In dieser Zeile geht Ihr Roboter zu Google und sagt: "Kann ich bitte alles erhalten, was Sie im Stammverzeichnis Ihrer Website haben?" (Dies bedeutet, dass wir abrufen möchten, was sich unter www.google.com befindet, nicht unter www.google.com/home.)

Jetzt haben wir unsere Nachricht korrekt an Googles Haus (den Server) übermittelt. Die Türen leuchten auf und schwingen auf.

Im Inneren sehen Sie einen anderen Roboter. Dahinter befindet sich eine Reihe von Schließfächern, die mit Text wie GET / HTTP/1.1und gekennzeichnet sind GET /search HTTP/1.1. Wenn Ihre Anfrage mit einem dieser Schließfächer übereinstimmt, entsperrt der Roboter sie und gibt Ihrem Roboter den Inhalt, wodurch er aufgefordert wird, mit der Antwort schnell zu Ihnen zurückzukehren.

Die Antwort

Die Antwort, die Sie zurückerhalten, sieht ungefähr so ​​aus:

HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT Content-Length: 88 Content-Type: text/html Connection: Closed

Jetzt wird diese Antwort nur dann angezeigt, wenn Sie sie wirklich in den Entwicklertools Ihres Browsers überprüfen möchten. Aber trotzdem erhalten Sie es.

Was als nächstes passiert, hängt davon ab, welche Art von Antwort Sie erhalten und was sich in der Lockbox des Servers befand.

In vielen Fällen erhalten Sie als Gegenleistung ein HTML-Dokument. HTML stellt die Struktur von Webseiten dar und definiert, was der Browser anzeigen soll.

Wenn Sie zu www.google.com gehen, erhalten Sie im Gegenzug eine HTML-Datei, die definiert, wie die google.com-Website in Ihrem Browser angezeigt wird.

Wenn Sie etwas Zeit haben, befasst sich dieses 11-minütige Video eingehender mit HTTP-Anfragen und -Antworten:

Fazit

In diesem Artikel haben wir untersucht, wie das Internet funktioniert und wie wir HTTP für die Kommunikation im Internet verwenden.

Wir haben erfahren, dass das HTTP-Protokoll für die Kommunikation zwischen Browsern und Servern im Internet verwendet wird und aus einem allgemein vereinbarten Standard für das Senden und Empfangen von Anforderungen besteht.

Wir untersuchten auch die Bedeutung solcher Kommunikationsstandards und die Vorteile eines allgemein vereinbarten Standards.

There are many more facets to understanding how the internet works and what kinds of responses you can receive.

If you have a moment, this 18 minute video teaching your how to build a web server will review a lot of the topics covered in this article, and go over some new ones:

Now you should have a general understanding of how communication on the internet works.

If you think someone else could benefit from this article, please spread the word. And if you want to know when I post more content, you can subscribe to my YouTube channel, or you can follow me @foseberg on Twitter.