- Wir werden ein wenig über Networking sprechen.
- Wir werden die Client-Server- und Drei-Ebenen-Architektur untersuchen.
- Wir werden die HTTP/HTTPS-Protokolle untersuchen.
- Wir erfahren alles, was Sie über Maven wissen müssen.
- Wir reden über Protokollierung.
- Über Servlet-Container.
- Und schließlich zu MVC.
Teil 1. Wir werden ein wenig über Networking sprechen.
Beginnen wir mit dem, was am wichtigsten ist, indem wir darüber sprechen, worauf jedes soziale Netzwerk, jeder Webdienst und jede Webanwendung, jeder Instant Messenger und jede einfache Website basiert – das Netzwerk (im Kontext dieser Artikelserie bedeutet der Begriff „ Netzwerk“ das Internet ). . Das Netzwerk besteht aus einer riesigen Anzahl von Computern: Sie sind miteinander verbunden und können kommunizieren. Es ist wichtig zu verstehen, wie sie dies tun, da Webanwendungen Informationen von einem Computer an einen anderen senden.OSI-Modell
Das Open Systems Interconnection (OSI)-Modell schafft einen mehrstufigen Ansatz zum Aufbau eines Netzwerks. Es zeigt deutlich, wie und auf welcher Ebene Einheiten desselben Netzwerks miteinander interagieren können. Insgesamt enthält dieses Modell 7 Schichten:7 | Anwendung |
6 | Präsentation |
5 | Sitzung |
4 | Transport |
3 | Netzwerk |
2 | Datenverbindung |
1 | Körperlich |
-
Physikalische Ebene – Diese Ebene befasst sich mit den Gesetzen der Physik und deren Nutzung für unsere Zwecke. Zum Beispiel das Erstellen von Kabeln und deren Verlegung zu Einheiten im Netzwerk.
Diese Schicht interessiert uns nicht.
-
Datenverbindungsschicht – Diese Schicht ist für die Datenübertragung an Netzwerkknoten und die Erstellung von Datenübertragungskanälen für physische Objekte verantwortlich.
Diese Schicht interessiert uns nicht, es sei denn, Sie möchten Firmware für die Hardware schreiben, die Datenverbindungen herstellt.
-
Netzwerkschicht – Diese Schicht dient zur Bestimmung der Adressen einzelner Netzwerkbenutzer und der Routen zu ihnen. Es lohnt sich, mehr über die Details dieser Schicht, nämlich Netzwerkadressen, zu erfahren.
Netzwerkadressen werden durch ein spezielles Protokoll definiert: Das gebräuchlichste ist IPv4 (Internet Protocol Version 4). Dies ist das Protokoll, das ein Webprogrammierer verwenden muss, um einen anderen Netzwerkbenutzer zu kontaktieren.
Eine IPv4-Adresse besteht aus vier durch Punkte getrennten Bytewerten, zum Beispiel: 192.0.2.235. Beachten Sie, dass es sich bei diesen Werten um Bytes handelt, das heißt, sie liegen im Bereich 0..255.
IP-Adressen wiederum werden in Klassen eingeteilt. Wir können uns nicht einfach eine schöne Zahlenkombination zuordnen, aber wir werden hier nicht sehr tief gehen. Es genügt zu verstehen, dass eine IP-Adresse einen Netzwerkbenutzer eindeutig identifiziert und zur Kontaktaufnahme mit diesem Benutzer verwendet werden kann.
-
Transportschicht – Diese Schicht übernimmt die Übermittlung von Informationen an einen Adressaten. Um dies zu erreichen, werden verschiedene Protokolle verwendet. Im Moment sind wir nicht an ihnen interessiert. Uns interessiert viel mehr das Konzept eines Hafens , der auf dieser Ebene erscheint.
Ports sind für die Identifizierung einer bestimmten Anwendung auf einem Computer verantwortlich. Angenommen, Sie schreiben eine Chat-App in Java, installieren sie auf zwei Computern und möchten Ihrem Freund eine Nachricht senden. Ihre Nachricht wird verpackt, an eine bestimmte IP-Adresse gesendet und an Ihren Kumpel zugestellt, aber sein Computer weiß nicht, was er mit den empfangenen Informationen anfangen soll, weil er nicht versteht, welche Anwendung Ihre Nachricht verarbeiten soll. Wenn Netzwerkeinheiten kommunizieren, werden Ports verwendet, um anzugeben, welche Anwendung die Informationen verarbeiten soll.
Der Port ist eine Zahl im Bereich von 0 bis 65535. Er wird nach einem Doppelpunkt an die IP-Adresse angehängt: 192.0.2.235:8080 . Sie können jedoch nicht alle Ports im angegebenen Bereich nutzen: Einige davon sind für das Betriebssystem reserviert, andere werden üblicherweise für bestimmte Zwecke verwendet. Wir werden uns nicht näher mit den Zwecken verschiedener Häfen befassen. Zunächst reicht es aus, ihre Rolle im Kommunikationsprozess im Netzwerk zu verstehen.
-
Sitzungsschicht – Diese Schicht erstellt und verwaltet Kommunikationssitzungen. Auf dieser Ebene können Anwendungen interagieren und Service-Level-Anfragen senden. Was wir wissen müssen ist, dass auf dieser Ebene eine Sitzung zwischen zwei Benutzern geöffnet wird und wir mit der Sitzung arbeiten müssen.
Eine Sitzung ist eine Einheit, die erstellt wird, wenn eine Verbindung zwischen zwei Benutzern hergestellt wird. Es kann notwendige Informationen über einen Benutzer und über den Verlauf der Interaktion mit dem Benutzer speichern. Ein wichtiges Detail ist, dass die Sitzung nicht verschwindet, wenn der Informationsaustausch beendet wird. Stattdessen behält es seinen Zustand für einen festgelegten Zeitraum bei, sodass Benutzer auch nach einer Pause weiterhin Informationen austauschen können.
Wenn eine Anwendung mit mehreren Benutzern gleichzeitig kommuniziert, werden entsprechend viele Verbindungen (und damit Sitzungen) aufgebaut. Jede Sitzung verfügt über eine eindeutige Kennung (ID) , die es der Anwendung ermöglicht, zwischen den Benutzern zu unterscheiden, mit denen sie kommuniziert.
-
Präsentationsschicht – Diese Schicht ist für die Kodierung/Dekodierung von Daten verantwortlich. Wenn wir die Zeichenfolge „Hallo Web“ an einen anderen Benutzer senden müssen, wird sie natürlich zuerst in Binärcode umgewandelt (kodiert) und erst dann gesendet. Beim Erreichen des Empfängers wird die Nachricht zurückkonvertiert (dekodiert) und der Empfänger kann die ursprüngliche Zeichenfolge sehen. Diese Aktionen finden auf der Präsentationsebene statt.
-
Die Anwendungsschicht ist für uns die interessanteste Schicht. Es ermöglicht Anwendungen, mit dem Netzwerk zu kommunizieren. Auf dieser Ebene empfangen und senden wir Nachrichten und stellen Anfragen an Dienste und entfernte Datenbanken.
Auf dieser Ebene werden viele Protokolle verwendet: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET und natürlich HTTP/HTTPS. Ein Protokoll ist eine universelle Vereinbarung, an die wir uns bei der Kommunikation halten. Auf HTTP/HTTPS werden wir auf jeden Fall gesondert ausführlich eingehen.
- IP-Adresse – Die Adresse des Benutzers im Netzwerk
- Port – Die Adresse der Anwendung eines bestimmten Benutzers
- Sitzung – Eine Entität, die während der gesamten Kommunikationsdauer zwischen zwei Benutzern existiert
- Anwendungsprotokolle (HTTP/HTTPS) – Dies sind Regeln, die wir beim Verfassen und Senden von Nachrichten befolgen.
GO TO FULL VERSION