Server Client Grundkenntnisse Http Part 2

 

Server Client Grundkenntnisse Part 2
Im ersten Teil hast Du die ersten Basis Informationen zum Thema erhalten. Während ich diese Serie schreibe, arbeite ich mich auch in das Thema ein. Im ersten, aber auch in diesem Post geht es nicht um konkrete Codebeispiele. Es geht darum zu wissen, in welchem technischem Umfeld wir uns bewegen.

Kurze Auffrischung: Du kannst Dir unter Client(z.b. dein Browser) und Server (Computer System irgendwo im Internet) etwas vorstellen. Stehen geblieben sind wir im ersten Post bei dem HTTP Protokoll und haben die entsprechenden Schlüsselwörter (Befehle) kennengelernt. Wir wissen auch den Unterschied zwischen Request (Anfrage) und Response (Antwort). Und wie diese zwei im Format prinzipiell aufgebaut sind: In einen Kopfbereich (Header) und einen Körperbereich (Body).

noch mehr Protokoll


Wenn Du also auf einer Website surfst, entsteht ein Kreislauf zwischen Anfragen (von deinem Browser) und Antworten (vom Server im Internet).
Dabei ist gut zu wissen, das diese Anfragen völlig unabhängig von einander sind. Das heisst keine der Anfragen die Du von Deinem Browser her sendest, weiss von den anderen Anfragen die von deinem PC kommen.
Themen wie Cookies, Sessions etc., also alles was das surfen bequem macht, hat in seinem Kern nichts mit dem Http Protokoll zu tun.

https


Sicher bist Du auf dieses Protokoll schon gestossen. Vielleicht beim Internetbanking, oder bei anderen Servern, wo sich die Verantwortlichen für ein besonders sicheren Datenverkehr entschieden haben.
Https (Hyper Text Transfer Protocol Secure) sorgt für einen verschlüsselten Datenverkehr zwischen dem Client und dem Server.
Dazu hat der Web Host (Server) ein Sicherheitszertifikat installiert. Auch dieses gibt es in verschiedenen Ausführungen, aber das ist jetzt nicht Thema dieses Posts.
Zwei Abkürzungen werden Dir aber in diesem Zusammenhang immer wieder über den Weg laufen:

SSL : Secure Sockets Layer. Dabei handelt es sich eigentlich um ein bereits veralteten Begriff, den man aber noch oft im Internet antrifft.

TLL : Transport Layer Security. Das aktuelle Format, wenn man so will.

Beim aktuellen Stand unserer Kenntnisse macht es aber noch nicht wirklich Sinn, mehr als die Begriffe zu kennen. Darum weiter im Text.


Kopf und Körper


Weiter oben haben ich bereits von Anfragen / Antworten geschrieben, und das sich diese in einen Kopf-und einen Körperbereich unterteilen lassen:

Response (Body): In der Http Antwort vom Server enthält der Body Abschnitt üblicherweise die Website die du angefordert hast. 

Request (Body): Die Http Anfrage deines Browser  sendet im Body Bereich zum Beispiel Formular Daten die Du erfasst hast. .

Die Daten im Header Abschnitt von Response/Request lassen sich grob in drei Kategorien unterteilen:

Allgemein(Header): Request URL (die Webadresse, die du anforderst), Request Method (mit welcher HTTP Methode die Anforderung gestellt wird, POST, GET, etc. ), Status Code, Remote Adresse (die IP Adresse deines Systems), Referrer Policy.

Response(Header): Server (welcher Server die Antwort sendet), Set-Cookie, Content-Type, Content-Length, Date

Request(Header): Cookies, Accept-xxx, Content-Type, Content-Length, Authorization, User Agent, Referrer

Ich gehe hier absichtlich nicht weiter auf Einzelheiten ein, da ich denke das man diese Informationen später so oder so noch einmal nachlesen / googeln muss, wenn man sie denn benötigt. Wichtig zu wissen ist aber:

Ein Http Datensatz unterteilt sich in zwei Hauptbereiche: Kopf (Header) und Körper (Body). Der Header Bereich enthält allgemeine Informationen und Informationen die speziell für die Art des Datensatzes verwendet werden (Request / Response). Der Body Bereich sendet die eigentlich Daten, das kann eine Website sein, oder Formular Daten die Du an den Server übermittelst.

Hier geht es zum dritten Teil dieser kleinen Serie. Bis bald.


Kommentare

Beliebte Posts aus diesem Blog

Material Design in Flutter Teil 2

Flutter -- Tutorial Teil 6 Provider Part 2

Flutter -- ohne Dart geht es nicht 2 -- einfache Variablen Typen