- Porozmawiajmy trochę o sieci.
- Rozważmy strukturę klient-serwer i architekturę trójpoziomową.
- Przyjrzyjmy się protokołom HTTP/HTTPS.
- Dowiedzmy się wszystkiego, co musisz wiedzieć o Mavenie.
- Porozmawiajmy o serwletach.
- Kontenery serwletów.
- I na koniec – o MVC.
Część 1. Porozmawiajmy trochę o sieci
Zacznijmy od najważniejszej rzeczy i porozmawiajmy o podstawach, na których budowane są wszystkie sieci społecznościowe, serwisy i aplikacje internetowe, komunikatory internetowe i proste strony - o sieci ( w kontekście tego cyklu artykułów termin „sieć” oznacza globalnego Internetu ). Sieć składa się z ogromnej liczby komputerów: są one ze sobą połączone i zdolne do komunikacji. Ważne jest, aby zrozumieć, jak to robią, ponieważ aplikacje internetowe są odpowiedzialne za przesyłanie informacji z jednego komputera na drugi.Model sieci OSI
Model OSI (Open Systems Interconnection) tworzy warstwowe podejście do budowy sieci. Jasno pokazuje, w jaki sposób i na jakim poziomie członkowie tej samej sieci mogą ze sobą współdziałać. W sumie model ten zawiera 7 poziomów:7 | Stosowany |
6 | Reprezentacja |
5 | Sesja |
4 | Transport |
3 | Sieć |
2 | Kanał |
1 | Fizyczny |
-
1. Poziom fizyczny – tutaj prawa fizyki robią swoje, a zadaniem człowieka jest wykorzystanie tego i ukierunkowanie dla własnych celów. Na przykład tworzenie kabli i układanie ich do członków sieci.
Nie jesteśmy zainteresowani.
-
Warstwa łącza danych – odpowiedzialna za transmisję danych do węzłów sieci oraz tworzenie kanałów transmisji danych na obiektach fizycznych.
Нам не интересен, если только нет желания писать прошивку для каналообразующей аппаратуры.
-
Сетевой уровень — для определения adresов отдельных пользователей сети и маршрутов к ним. На этом уровне стоит остановиться подробнее, а именно — на adresе пользователя в сети.
Он определяется специальным протоколом: самый распространённый — IPv4 (Internet Protocol version 4). Именно его нужно использовать веб-программисту для обращения к другому абоненту сети.
IPv4 состоит из четырех bajtовых значений, разделенных точкой, например: 192.0.2.235. Стоит помнить, что значения bajtовые, а значит, они лежат в пределах 0..255.
IP-adresа, в свою очередь, делятся на классы, и просто так присвоить себе красивую комбинацию циферок не получится, но так сильно углубляться мы не станем. Достаточно понимать, что IP-adres — это уникальный идентификатор абонента в сети, по которому мы сможем к нему обратиться.
-
Транспортный уровень — занимается доставкой информации adresату. Для этого используются разные протоколы, которые нам пока не интересны. Гораздо больше нас интересует понятие, которое появляется на этом уровне, — port.
Порты отвечают за идентификацию конкретного Aplikacje на компьютере. Например, ты написал чат на Java, установил на 2 компа и хочешь отправить своему собеседнику. Твое сообщение упаковывается, отправляется по конкретному IP-adresу, доставляется твоему собеседнику, но его ПК не знает, что делать с полученной информацией, так Jak не понимает, Jakое приложение должно обработать твое сообщение. Для этого и указываются порты при общении абонентов в сети.
Порт представляет собой число от 0 до 65535. Он добавляется к IP-adresу после двоеточия: 192.0.2.235:8080. Но нельзя использовать все порты из указанного диапазона: часть из них зарезервирована под операционную систему, еще часть принято использовать с конкретно оговоренной целью. В преднаoznaczający разных портов углубляться не будем, пока достаточно понимать их роль в процессе общения в сети.
-
Сеансовый уровень — создает и управляет сеансами связи приложений. На этом уровне становится возможным взаимодействие приложений, отправка wniosekов служебного уровня. Для нас важно знать, что на этом уровне между двумя абонентами открывается сессия (session), с которой нам часто придется работать.
Сессия — сущность, которая создается при установке связи между двумя пользователями. В ней можно сохранять нужную нам информацию о юзере, об истории их взаимодействия. Важной деталью является то, что при остановке обмена информацией сессия не пропадает, а сохраняет свое состояние на протяжении установленного промежутка времени, поэтому пользователи могут продолжить обмен информацией после перерыва.
Jeśli aplikacja komunikuje się z kilkoma użytkownikami jednocześnie, nawiązuje się odpowiednią liczbę połączeń, a co za tym idzie sesji. Każda sesja posiada unikalny identyfikator (ID) , który pozwala aplikacji rozróżnić użytkowników, z którymi następuje komunikacja.
-
Warstwa prezentacji - odpowiedzialna za kodowanie/dekodowanie danych. Oczywiście, jeśli mamy wysłać ciąg „Witaj sieci” innemu użytkownikowi, jest on najpierw konwertowany (zakodowany) na kod binarny, a dopiero potem wysyłany. Po dotarciu do miejsca docelowego wiadomość jest ponownie konwertowana (dekodowana), a odbiorca może zobaczyć oryginalny ciąg. Działania te zachodzą na poziomie prezentacji.
-
Warstwa aplikacji jest dla nas najciekawszą warstwą. Umożliwia aplikacjom interakcję z siecią. Na tym poziomie będziemy odbierać, wysyłać wiadomości, wysyłać żądania do usług i zdalnych baz danych.
Na tym poziomie używanych jest wiele protokołów: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET i oczywiście HTTP/HTTPS. Protokół to uniwersalna umowa, której przestrzegamy podczas tworzenia wiadomości. Z pewnością omówimy protokoły HTTP/HTTPS osobno i bardziej szczegółowo.
- Adres IP – adres abonenta w sieci;
- Port — adres aplikacji konkretnego abonenta;
- Sesja to byt istniejący w trakcie całej komunikacji pomiędzy dwoma abonentami;
- Protokoły aplikacyjne (HTTP/HTTPS) to reguły, które będą nas kierować podczas tworzenia i wysyłania wiadomości.
GO TO FULL VERSION