Wenn Sie das Internet schon lange nutzen, haben Sie wahrscheinlich etwas in Ihren Browser eingegeben, das mit „http:“ beginnt und mit „.html“ endet. Dann haben Sie auf „Los“ geklickt und das LED-Entenlicht beobachtet, und nach ein paar Sekunden wurden Sie zu einer Seite mit den neuesten Nachrichten oder Fotos weitergeleitet. Versuchen wir, einen Überblick über das HTTP Transportprotokoll zu geben ...
Ich habe mir überlegt, diesen Artikel „Die Sichtweise eines HTTP-Freaks“ zu nennen. Ich werde nicht ins Detail gehen, aber ich werde einen Überblick darüber geben, wie ein Geek so etwas wie HTTP sieht, wie er sich so etwas wie HTTP Transportprotokoll als einfach vorstellen kann und warum er nicht versucht, die Dinge nur um ihrer selbst willen zu komplizieren davon!
Lagen
Der Hintergrund des Designs ist, dass Computer voller Schichten sind. Programmierer und Designer denken in Schichten, weil die mehrstufige Organisation die Erstellung von Dingen erleichtert.
Sie müssen nicht wissen, was Ebenen sind und wo sie sich auf Ihrem Computer befinden oder wo eine Ebene beginnt und eine andere endet. Denken Sie jedoch daran, dass diese Ebenen überall sind, denn so funktionieren sie.
Funktionen und Protokolle
- Spezifikationen und Protokolle sind oft die Ursache aller computerbezogenen Frustrationen ... aber sie sind ein notwendiges Übel. Ein weiser Mann sagte einmal, dass jede Spezifikation, die mehr als eine Zeile enthält, Mehrdeutigkeiten und die Ursache des Problems enthält. Im Alltag gibt es viele Vorgaben und Protokolle. Ein Beispiel für ein Protokoll ist, wenn Sie beim Fahren eine rote Ampel sehen, langsamer fahren und anhalten, bis sie auf Grün wechselt. Die Spezifikation dieses Protokolls ist eine Regel, die (höchstwahrscheinlich) im Verkehrsregelwerk festgehalten ist. Aber Sie müssen die Verkehrsregeln nicht lesen, es ist nur gesunder Menschenverstand zu wissen, dass Sie an einer roten Ampel anhalten sollten. Natürlich wissen wir alle, dass die Wörter „Computer“ und „gesunder Menschenverstand“ nicht im selben Satz vorkommen sollten, weshalb es viele Spezifikationen für Computer gibt, die meist sehr lang und detailliert sind.
- Ein weit verbreitetes Missverständnis ist, dass man einem Computer alles beschreiben muss. Ich denke, es ist ein bisschen falsch. Es ist nicht der Computer, der erklärt werden muss, sondern die Programmierer und Designer, die die höheren Ebenen erstellen, die den anderen Programmierern, die die anderen höheren Ebenen erstellen, alles erklären müssen.
- Wenn der Programmierer die Spezifikationsregeln ignoriert oder nicht weiß, dass es eine Regel gibt, die befolgt werden muss, kann das Ergebnis wie ein roter Fahrer sein – ein Absturz.
Verknüpfung
- Nachdem die Hintergrundzeichnung nun fertig ist, ist es an der Zeit, eine Zeichnung der beiden Boote in der Bucht anzufertigen, jedes mit einem Funkgerät. Da ich in der Nähe von Booten aufgewachsen bin, habe ich es immer geliebt, Funkgesprächen zuzuhören. Das folgende Gespräch stammt aus meinen Kindheitserinnerungen, aber die Idee ist wahrscheinlich die gleiche wie bei CB und anderen Formen des Radios.
- Schiff Nummer 1 wird „Rock and Roll“ heißen und Schiff Nummer 2 wird „Jazz“ heißen. Mir ist aufgefallen, dass es nur einen Kanal gab und dass es ein Verfahren gab, das jeder befolgte, um die Ordnung aufrechtzuerhalten (außer am Sonntagnachmittag). Ich weiß nicht, ob dieses Protokoll irgendwo als Spezifikationsregel geschrieben ist oder ob es gesunder Menschenverstand ist. Wenn der Jazz Rock 'n' Roll spielen wollte, würde er warten, bis das aktuelle Gespräch mit „Over and Out“ endet. Warten Sie ein paar Sekunden und sagen Sie: „Rock and Roll, Rock and Roll, das ist Jazz, lesen Sie es und das wars.“ Wenn ein Jazzer zuhörte, sagte er: „Rock and Roll, das ist Jazz, bitte, bitte.“ Bingo, online.
- Das Gleiche gilt, wenn Sie die Adresse in Ihren Webbrowser eingeben und auf „Los“ drücken. Der Computer sendet eine Reihe von Zahlen an das Modem. Der Einfachheit halber ignoriere ich die Tatsache, dass das Modem diese Nummer in Ton umwandelt, und betrachte sie als eine Nummer, die sich entlang einer Telefonleitung bewegt. Das Senden der Nummer über das Telefon funktioniert gut, da sich am anderen Ende der Leitung der Computer Ihres Internetdienstanbieters befindet. Dieser Computer und alle anderen Computer im Internet verfügen über eine vom Programmierer geschriebene Schicht und eine vom Computerdesigner entworfene Schicht, die strengen und detaillierten Spezifikationen folgt, was mit den vom Computer generierten Zahlen geschehen soll.
- Es klingt kompliziert, aber (die Details sind!) Es ist so, als ob man wüsste, dass Leute im Rock'n'Roll erwarten, „immer und immer wieder“ zu hören, bevor sie Jazz spielen, und dass sie am Ende jeder Phrase „over“ sagen. Wenn sich niemand an dieses Protokoll hält, herrscht auf dem Kanal Chaos und jeder wird versuchen, ihn zugunsten der anderen zu überzeugen. Wenn Ihr Computer oder ein anderer Computer im Internet den Spezifikationen nicht entspricht, macht es ebenfalls keinen Sinn, dass Ihr Computer einige Nummern über eine Telefonleitung sendet. Wenn Sie sich jedoch an die Regeln halten, funktioniert es.
Ich werde nicht näher auf diese Spezifikationen eingehen, aber Sie können die Initialen bereits erkennen. TCP/IP und DNS (und viele mehr!))
HTTP Transportprotokoll
Angenommen, jemand bei Rock n Roll weiß, dass die Jazz ein Football-Jahrbuch haben, prüft den Spielstand eines bestimmten Spiels und beginnt eine Diskussion auf der Rock n Roll-Website. Man hört Rock'n'Roll sagen: "Hier ist Jazz, komm rein", und das ist eine gute Gelegenheit für Rock'n'Roll, den Zusammenhang zu erkennen und ein Gespräch zu beginnen. Wenn der Rock 'n' Roll sagt: „Jazz, erzähl mir den Spielstand des Super Bowl 1987, Ende“, kann Jazz mit einer Antwort antworten, die mit dem Wort „Ende“ endet. „Rock and Roll“ fragt möglicherweise nach einer anderen Partitur oder einer Liste von Spielern oder sagt einfach „Danke, das war's“, und „Jazz“ fragt möglicherweise nach einer anderen Partitur oder einer Liste von Spielern oder sagt einfach: „Danke, das war’s.“
So funktioniert HTTP. Das Wählen erfolgt auf einer separaten unteren Ebene, die die Nummern verwaltet, die vom Computer zum Computer gehen, den Sie anrufen. Mit HTTP kann Ihr Computer einige Informationen (namentlich) von einem anderen Computer anfordern und diese Informationen zurückerhalten – ein sehr einfacher Vorgang. Gemäß der HTTP-Spezifikation kann sich jemand auf einem anderen Computer befinden und eine Antwort eingeben. Bei den erforderlichen Informationen handelt es sich jedoch normalerweise um den Dateinamen, z. Zahlenfolge auf Ihrer Festplatte. Diese Nummern werden von der Festplatte in den Speicher übertragen und vom Modem an den Computer zurückgegeben. Das ist alles was es braucht. Das ist der Sinn von HTTP.
Die Quintessenz ist, dass man, um zu verstehen, warum ein „Geek“ weit über etwas wie HTTP nachdenken würde, hierarchisch denken muss, wie es ein „Geek“ tut. Hierarchisches Denken ist für sie kein gutes System, vielleicht sogar bewusst, weil ihre Werkzeuge und Sprache es erleichtern. Wenn ein Programmierer ein HTTP-Programm schreiben möchte, kann er z.B.
Einreichung auf niedrigerer Ebene: Get SuperbowlScore1987
Der Programmierer, der dies geschrieben hat, hat nicht sorgfältig darüber nachgedacht, wie er die Verbindung herstellen und die Nachricht senden soll. Vielleicht hat er keine Ahnung! Beim Umgang mit HTTP gehen sie davon aus, dass die unterste Schicht funktioniert. Wenn ja oder Sie die untere Schicht verstehen möchten, vergessen Sie HTTP und lesen Sie die TCP/IP- und DNS-Schichten und -Spezifikationen (haben Sie Spaß und machen Sie sich einen guten Kaffee). Und versuchen Sie auch nicht zu verstehen, wie schön die empfangenen Informationen in Ihrem Browser angezeigt werden. Es handelt sich um eine höhere Ebene und eine andere Spezifikation (HTML).
Ich hoffe, Ihnen hat die Lektüre dieses Artikels gefallen, da ich HTTP Transportprotokoll aus einer ungewöhnlichen Perspektive kennengelernt habe! Wenn Sie mehr lesen möchten, gibt es viele gute Artikel online und zur HTTP-Spezifikation.