- Beszéljünk egy kicsit a hálózatépítésről.
- Megvizsgáljuk a kliens-szerver és a háromszintű architektúrát.
- Megvizsgáljuk a HTTP/HTTPS protokollokat.
- Mindent megtudunk, amit a Mavenről tudni kell.
- A fakitermelésről beszélünk.
- A servlet konténerekről.
- És végül az MVC-ről.
1. rész. Beszélünk egy kicsit a hálózatépítésről.
Kezdjük azzal, ami a legfontosabb, és beszéljünk arról, amire minden közösségi hálózat, webszolgáltatás és webalkalmazás, azonnali üzenetküldő és egyszerű webhely épül – a hálózat (ebben a cikksorozatban a " hálózat" kifejezés az internetet jelenti ) . A hálózat hatalmas számú számítógépből áll: össze vannak kötve és képesek kommunikálni. Fontos megérteni, hogyan teszik ezt, mert a webes alkalmazások információkat küldenek egyik számítógépről a másikra.OSI modell
Az Open Systems Interconnection (OSI) modell többszintű megközelítést hoz létre a hálózatépítéshez. Világosan megmutatja, hogy ugyanannak a hálózatnak az entitásai hogyan és milyen rétegben léphetnek kapcsolatba egymással. Összességében ez a modell 7 réteget tartalmaz:7 | Alkalmazás |
6 | Bemutatás |
5 | Ülés |
4 | Szállítás |
3 | Hálózat |
2 | Adat link |
1 | Fizikai |
-
Fizikai réteg — Ez a réteg a fizika törvényeivel és azok céljaira való felhasználásával foglalkozik. Például kábelek létrehozása és lefektetése a hálózat entitásaihoz.
Ez a réteg minket nem érdekel.
-
Adatkapcsolati réteg – Ez a réteg felelős az adatok továbbításáért a hálózati csomópontokhoz, és adatátviteli csatornák létrehozásáért a fizikai objektumok számára.
Ez a réteg nem érdekel bennünket, hacsak nem akarunk firmware-t írni az adatkapcsolatokat létrehozó hardverhez.
-
Hálózati réteg – Ez a réteg az egyes hálózati felhasználók címeinek és a hozzájuk vezető útvonalak meghatározására szolgál. Érdemes többet megtudni ennek a rétegnek a részleteiről, nevezetesen a hálózati címekről.
A hálózati címeket egy speciális protokoll határozza meg: a leggyakoribb az IPv4 (Internet Protocol version 4). Ez az a protokoll, amelyet a webprogramozónak használnia kell, hogy kapcsolatba lépjen egy másik hálózati felhasználóval.
Az IPv4-cím négy bájt értékből áll, amelyeket pontok választanak el, például: 192.0.2.235. Ne feledje, hogy ezek az értékek bájtok, ami azt jelenti, hogy a 0...255 tartományon belül vannak.
Az IP-címek pedig osztályokra vannak osztva. Nem rendelhetünk egyszerűen magunknak egy szép számkombinációt, de itt nem is megyünk bele. Elég megérteni, hogy az IP-cím egyedileg azonosítja a hálózati felhasználót, és fel lehet vele lépni a felhasználóval.
-
Szállítási réteg – Ez a réteg kezeli az információk címzetthez való eljuttatását. Ennek megvalósítására különféle protokollokat használnak. Egyelőre nem vagyunk kíváncsiak rájuk. Minket sokkal jobban érdekel a port fogalma , amely ezen a rétegen jelenik meg.
A portok felelősek egy adott alkalmazás azonosításáért a számítógépen. Tegyük fel például, hogy ír egy csevegőalkalmazást Java nyelven, telepíti 2 számítógépre, és üzenetet szeretne küldeni a haverjának. Üzenetét becsomagolják, elküldik egy adott IP-címre, és kézbesítik a haverjának, de a számítógépe nem tud mit kezdeni a kapott információval, mert nem érti, melyik alkalmazás dolgozza fel az üzenetet. Amikor hálózati entitások kommunikálnak, a portok jelzik, hogy melyik alkalmazásnak kell feldolgoznia az információt.
A port egy 0 és 65535 közötti szám. Ez egy kettőspont után kerül az IP-címhez: 192.0.2.235:8080 . De nem használhatja az összes portot a megadott tartományban: némelyikük az operációs rendszer számára van fenntartva, mások általában meghatározott célokra használatosak. Nem fogunk belemenni a különböző kikötők céljaiba. Egyelőre elég megérteni a hálózati kommunikáció folyamatában betöltött szerepüket.
-
Munkamenet réteg – Ez a réteg kommunikációs munkameneteket hoz létre és kezel. Ezen a rétegen lehetővé válik az alkalmazások interakciója, szolgáltatási szintű kérések küldése. Amit tudnunk kell, hogy ezen a rétegen egy munkamenet nyílik meg két felhasználó között, és ezzel a munkamenettel kell dolgoznunk.
A munkamenet egy olyan entitás, amely akkor jön létre, amikor két felhasználó között kapcsolat jön létre. Szükséges információkat tárolhat a felhasználóról és a felhasználóval való interakció előzményeiről. Fontos részlet, hogy amikor az információcsere leáll, a munkamenet nem szűnik meg. Ehelyett egy meghatározott ideig megőrzi állapotát, így a felhasználók szünet után folytathatják az információcserét.
Ha egy alkalmazás egyszerre több felhasználóval kommunikál, akkor megfelelő számú kapcsolat (és így munkamenet) jön létre. Minden munkamenetnek egyedi azonosítója (ID) van , amely lehetővé teszi az alkalmazás számára, hogy különbséget tegyen a felhasználók között, akikkel kommunikál.
-
Megjelenítési réteg – Ez a réteg felelős az adatok kódolásáért/dekódolásáért. Nyilvánvalóan, ha el kell küldenünk a "Hello web" karakterláncot egy másik felhasználónak, akkor azt először bináris kódba konvertálják (kódolják), és csak ezután küldik el. A címzetthez való eljutáskor az üzenet visszakonvertálódik (dekódolódik), és a címzett láthatja az eredeti karakterláncot. Ezek a műveletek a bemutató rétegben történnek.
-
Az alkalmazási réteg számunkra a legérdekesebb réteg. Lehetővé teszi az alkalmazások számára, hogy kommunikáljanak a hálózattal. Ezen a rétegen üzeneteket fogadunk és küldünk, valamint kéréseket küldünk szolgáltatásoknak és távoli adatbázisoknak.
Ezen a rétegen számos protokoll használatos: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET és természetesen HTTP/HTTPS. A protokoll egy egyetemes megállapodás, amelyet a kommunikáció során betartunk. A HTTP/HTTPS-ről minden bizonnyal külön részletesen foglalkozunk.
- IP-cím — A felhasználó címe a hálózatban
- Port — Egy adott felhasználó alkalmazásának címe
- Munkamenet – Egy entitás, amely a két felhasználó közötti kommunikáció teljes időtartama alatt létezik
- Alkalmazásprotokollok (HTTP/HTTPS) – Ezeket a szabályokat követjük az üzenetek írásakor és küldésekor.
GO TO FULL VERSION