
- Vom vorbi puțin despre crearea de rețele.
- Vom examina arhitectura client-server și trei niveluri.
- Vom explora protocoalele HTTP/HTTPS.
- Vom afla tot ce trebuie să știți despre Maven.
- Vorbim despre logare.
- Despre containerele servlet.
- Și, în sfârșit, despre MVC.
Partea 1. Vom vorbi puțin despre crearea de rețele.
Să începem cu ceea ce contează cel mai mult, vorbind despre ce este construită fiecare rețea socială, serviciu web și aplicație web, mesagerie instantanee și site web simplu - rețeaua (în contextul acestei serii de articole, termenul „rețea” înseamnă Internet ) . Rețeaua constă dintr-un număr mare de computere: acestea sunt interconectate și capabile să comunice. Este important să înțelegeți cum fac acest lucru, deoarece aplicațiile web trimit informații de la un computer la altul.Modelul OSI
Modelul de interconectare a sistemelor deschise (OSI) creează o abordare pe niveluri pentru construirea unei rețele. Arată clar cum și la ce nivel entitățile din aceeași rețea pot interacționa între ele. În total, acest model conține 7 straturi:7 | Aplicație |
6 | Prezentare |
5 | Sesiune |
4 | Transport |
3 | Reţea |
2 | Legătură de date |
1 | Fizic |
-
Stratul fizic — Acest strat tratează legile fizicii și cum să le folosim în scopurile noastre. De exemplu, crearea cablurilor și așezarea acestora către entitățile din rețea.
Acest strat nu ne interesează.
-
Strat de legătură de date - Acest strat este responsabil pentru transmiterea datelor către nodurile rețelei și crearea canalelor de transmisie a datelor pentru obiectele fizice.
Acest strat nu ne interesează decât dacă doriți să scrieți firmware pentru hardware-ul care stabilește legăturile de date.
-
Strat de rețea — Acest nivel este pentru determinarea adreselor individuale ale utilizatorilor de rețea și a rutelor către aceștia. Este util să aflați mai multe despre detaliile acestui strat, și anume, adresele de rețea.
Adresele de rețea sunt definite printr-un protocol special: cel mai comun este IPv4 (Internet Protocol versiunea 4). Acesta este protocolul pe care un programator web trebuie să-l folosească pentru a contacta un alt utilizator de rețea.
O adresă IPv4 constă din valori de patru octeți separate prin puncte, de exemplu: 192.0.2.235. Trebuie să vă amintiți că aceste valori sunt octeți, ceea ce înseamnă că se află în intervalul 0..255.
Adresele IP, la rândul lor, sunt împărțite în clase. Nu ne putem atribui pur și simplu o combinație frumoasă de numere, dar nu vom merge prea adânc aici. Este suficient să înțelegeți că o adresă IP identifică în mod unic un utilizator de rețea și poate fi folosită pentru a contacta acel utilizator.
-
Stratul de transport — Acest strat se ocupă de livrarea informațiilor către un destinatar. Pentru a realiza acest lucru sunt folosite diferite protocoale. Deocamdată nu ne interesează ele. Suntem mult mai interesați de conceptul de port , care apare la acest nivel.
Porturile sunt responsabile pentru identificarea unei anumite aplicații pe un computer. De exemplu, să presupunem că scrieți o aplicație de chat în Java, o instalați pe două computere și doriți să trimiteți un mesaj prietenului dvs. Mesajul tău este împachetat, trimis la o anumită adresă IP și livrat prietenului tău, dar computerul lui nu știe ce să facă cu informațiile primite, deoarece nu înțelege ce aplicație ar trebui să proceseze mesajul tău. Când entitățile din rețea comunică, porturile sunt folosite pentru a indica ce aplicație ar trebui să proceseze informațiile.
Portul este un număr în intervalul de la 0 la 65535. Se adaugă la adresa IP după două puncte: 192.0.2.235:8080 . Dar nu puteți utiliza toate porturile din intervalul specificat: unele dintre ele sunt rezervate pentru sistemul de operare, altele sunt utilizate în mod obișnuit în scopuri specifice. Nu vom aprofunda în scopurile diferitelor porturi. Deocamdată, este suficient să înțelegem rolul lor în procesul de comunicare în rețea.
-
Strat de sesiune — Acest strat creează și gestionează sesiunile de comunicare. La acest nivel, devine posibil ca aplicațiile să interacționeze, trimițând cereri la nivel de serviciu. Ceea ce trebuie să știm este că la acest nivel se deschide o sesiune între doi utilizatori și trebuie să lucrăm cu sesiunea.
O sesiune este o entitate creată atunci când se stabilește o conexiune între doi utilizatori. Poate stoca informațiile necesare despre un utilizator și despre istoricul interacțiunii cu utilizatorul. Un detaliu important este că atunci când schimbul de informații se oprește, sesiunea nu dispare. În schimb, își păstrează starea pentru o perioadă de timp stabilită, astfel încât utilizatorii pot continua să facă schimb de informații după o pauză.
Dacă o aplicație comunică cu mai mulți utilizatori în același timp, atunci se stabilește un număr corespunzător de conexiuni (și astfel sesiuni). Fiecare sesiune are un identificator unic (ID) , care permite aplicației să facă distincția între utilizatorii cu care comunică.
-
Strat de prezentare — Acest strat este responsabil pentru codificarea/decodificarea datelor. Evident, dacă trebuie să trimitem șirul „Hello web” unui alt utilizator, acesta este mai întâi convertit în (codat ca) cod binar și abia apoi este trimis. La ajungerea la destinatar, mesajul este convertit înapoi (decodificat), iar destinatarul poate vedea șirul original. Aceste acțiuni au loc la nivelul de prezentare.
-
Stratul de aplicare este cel mai interesant strat pentru noi. Permite aplicațiilor să comunice cu rețeaua. La acest nivel, primim și trimitem mesaje și facem solicitări către servicii și baze de date la distanță.
Există multe protocoale utilizate la acest nivel: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET și, desigur, HTTP/HTTPS. Un protocol este un acord universal la care aderăm atunci când comunicăm. Cu siguranță vom oferi o discuție detaliată separată despre HTTP/HTTPS.

- Adresă IP — Adresa utilizatorului în rețea
- Port — Adresa aplicației unui anumit utilizator
- Sesiune — O entitate care există pe parcursul perioadei de comunicare între doi utilizatori
- Protocoale de aplicație (HTTP/HTTPS) — Acestea sunt regulile pe care le vom respecta atunci când compunem și trimitem mesaje.
DNS (sistem de nume de domeniu)
După cum am aflat deja, fiecare utilizator al rețelei are o adresă unică. Dacă vorbim despre aplicație, atunci adresa sa unică va fi IPv4-address:port . Dacă cunoașteți această adresă, puteți accesa direct aplicația. Imaginați-vă că am scris o aplicație web care afișează temperatura medie a aerului în toate țările în timp real. L-am implementat pe un server cu adresa 226.69.237.119, pe portul 8080. Pentru a putea primi informații de la noi, utilizatorul trebuie să introducă 5 numere în browser: 226.69.237.119:8080. Oamenilor nu le place să memoreze seturi de numere: mulți dintre noi nu își pot aminti mai mult de două numere de telefon. De aceea sistemul de nume de domeniua fost inventat. Putem crea un „alias” pentru adresa noastră, de exemplu, world-temperature.com. În loc să ne caute folosind o adresă formată din cinci numere greu de reținut, utilizatorul poate introduce numele nostru de domeniu în bara de adrese a browserului. Există servere DNS care mapează nume de domenii la adrese reale. De exemplu, atunci când un utilizator introduce codegym.cc într-un browser, cererea ei este trimisă către un server DNS, care o convertește în adresa reală.
GO TO FULL VERSION