- 我們來談談網路。
- 讓我們考慮一下客戶端-伺服器的結構和三層架構。
- 讓我們來看看 HTTP/HTTPS 協定。
- 讓我們了解您需要了解的有關 Maven 的一切。
- 我們來談談servlet。
- Servlet 容器。
- 最後 - 關於 MVC。
第 1 部分:讓我們談談網絡
讓我們從最重要的事情開始,談談所有社交網路、網路服務和應用程式、即時通訊工具和簡單網站建立的基礎——關於網路(在本系列文章的上下文中,「網路」一詞意味著全球網際網路). 網路由大量電腦組成:它們相互連接並能夠通訊。了解它們是如何做到這一點很重要,因為 Web 應用程式負責將資訊從一台電腦傳輸到另一台電腦。OSI網路模型
OSI(開放系統互連)模型創建了一種建構網路的分層方法。它清楚地顯示了同一網路的成員如何以及在什麼層面上可以相互互動。模型總共包含 7 個等級:7 | 應用 |
6 | 表示 |
5 | 會議 |
4 | 運輸 |
3 | 網路 |
2 | 管 |
1 | 身體的 |
-
1. 物理層面-物理定律在這裡發揮作用,而人類的任務就是利用和指導物理定律來達到自己的目的。例如,建立電纜並將其鋪設到網路成員。
我們不感興趣。
-
數據鏈路層-負責向網路節點傳輸數據,並在實體物件上建立數據傳輸通道。
Нам не интересен, если только нет желания писать прошивку для каналообразующей аппаратуры.
-
Сетевой уровень — для определения addressов отдельных пользователей сети и маршрутов к ним. На этом уровне стоит остановиться подробнее, а именно — на addressе пользователя в сети.
Он определяется специальным протоколом: самый распространённый — IPv4 (Internet Protocol version 4). Именно его нужно использовать веб-программисту для обращения к другому абоненту сети.
IPv4 состоит из четырех byteовых значений, разделенных точкой, например: 192.0.2.235. Стоит помнить, что значения byteовые, а значит, они лежат в пределах 0..255.
IP-address, в свою очередь, делятся на классы, и просто так присвоить себе красивую комбинацию циферок не получится, но так сильно углубляться мы не станем. Достаточно понимать, что IP-address — это уникальный идентификатор абонента в сети, по которому мы сможем к нему обратиться.
-
Транспортный уровень — занимается доставкой информации addressту. Для этого используются разные протоколы, которые нам пока не интересны. Гораздо больше нас интересует понятие, которое появляется на этом уровне, — port.
Порты отвечают за идентификацию конкретного applications на компьютере. Например, ты написал чат на Java, установил на 2 компа и хочешь отправить своему собеседнику. Твое сообщение упаковывается, отправляется по конкретному IP-addressу, доставляется твоему собеседнику, но его ПК не знает, что делать с полученной информацией, так How не понимает, Howое приложение должно обработать твое сообщение. Для этого и указываются порты при общении абонентов в сети.
Порт представляет собой число от 0 до 65535. Он добавляется к IP-addressу после двоеточия: 192.0.2.235:8080. Но нельзя использовать все порты из указанного диапазона: часть из них зарезервирована под операционную систему, еще часть принято использовать с конкретно оговоренной целью. В преднаmeaning разных портов углубляться не будем, пока достаточно понимать их роль в процессе общения в сети.
-
Сеансовый уровень — создает и управляет сеансами связи приложений. На этом уровне становится возможным взаимодействие приложений, отправка requestов служебного уровня. Для нас важно знать, что на этом уровне между двумя абонентами открывается сессия (session), с которой нам часто придется работать.
Сессия — сущность, которая создается при установке связи между двумя пользователями. В ней можно сохранять нужную нам информацию о юзере, об истории их взаимодействия. Важной деталью является то, что при остановке обмена информацией сессия не пропадает, а сохраняет свое состояние на протяжении установленного промежутка времени, поэтому пользователи могут продолжить обмен информацией после перерыва.
如果應用程式同時與多個使用者通信,則會建立適當數量的連接,從而建立會話。每個會話都有一個唯一的識別碼 (ID),它允許應用程式區分進行通訊的使用者。
-
表示層- 負責編碼/解碼資料。顯然,如果我們需要將字串“Hello web”發送給另一個用戶,則首先將其轉換(編碼)為二進位代碼,然後才發送。一旦到達目的地,訊息就會被轉換回來(解碼),收件人可以看到原始字串。這些動作發生在表示層。
-
應用層是我們最感興趣的層。它允許應用程式與網路互動。在這個級別,我們將接收、發送訊息,向服務和遠端資料庫發出請求。
此等級使用許多協定:POP3、FTP、SMTP、XMPP、RDP、SIP、TELNET,當然還有 HTTP/HTTPS。協議是我們在編寫訊息時遵守的通用協議。我們肯定會單獨更詳細地討論 HTTP/HTTPS 協定。
- IP位址-使用者在網路上的位址;
- 連接埠-特定訂閱者的應用位址;
- Session是一個實體,存在於兩個訂閱者之間的整個通訊過程中;
- 應用程式協定 (HTTP/HTTPS) 是指導我們撰寫和發送訊息的規則。
GO TO FULL VERSION