- 我們將稍微談談網絡。
- 我們將檢查客戶端-服務器和三層架構。
- 我們將探討 HTTP/HTTPS 協議。
- 我們將學習您需要了解的關於 Maven 的一切。
- 我們正在談論日誌記錄。
- 關於 servlet 容器。
- 最後,關於 MVC。
第 1 部分。我們將稍微談談網絡。
讓我們從最重要的事情開始,談談每個社交網絡、Web 服務和 Web 應用程序、即時通訊工具和簡單網站的構建基礎 — 網絡(在本系列文章的上下文中,術語“網絡”表示互聯網) . 網絡由大量計算機組成:它們相互連接並且能夠通信。了解它們是如何做到這一點很重要,因為 Web 應用程序將信息從一台計算機發送到另一台計算機。OSI模型
開放系統互連 (OSI) 模型創建了一種構建網絡的分層方法。它清楚地顯示了同一網絡的實體如何以及在什麼層可以相互交互。這個模型總共包含 7 層:7 | 應用 |
6個 | 推介會 |
5個 | 會議 |
4個 | 運輸 |
3個 | 網絡 |
2個 | 數據鏈接 |
1個 | 身體的 |
-
物理層——這一層處理物理定律以及如何將它們用於我們的目的。例如,創建電纜並將它們鋪設到網絡中的實體。
我們對這一層不感興趣。
-
數據鏈路層——該層負責向網絡節點傳輸數據,並為物理對象創建數據傳輸通道。
我們對該層不感興趣,除非您想為建立數據鏈路的硬件編寫固件。
-
網絡層——該層用於確定各個網絡用戶的地址和到他們的路由。了解更多關於該層的詳細信息(即網絡地址)是有價值的。
網絡地址由特殊協議定義:最常見的是 IPv4(Internet 協議版本 4)。這是網絡程序員需要用來聯繫另一個網絡用戶的協議。
IPv4 地址由以句點分隔的四個字節值組成,例如:192.0.2.235。您應該記住這些值是字節,這意味著它們位於 0..255 範圍內。
IP 地址又分為幾類。我們不能簡單地給自己分配一個漂亮的數字組合,但我們不會在這裡深入。了解 IP 地址唯一標識網絡用戶並可用於聯繫該用戶就足夠了。
-
傳輸層——這一層負責將信息傳遞給收件人。使用各種協議來實現這一點。目前,我們對它們不感興趣。我們對出現在這一層的端口的概念更感興趣。
端口負責識別計算機上的特定應用程序。例如,假設您用 Java 編寫了一個聊天應用程序,將其安裝在 2 台計算機上,並希望向您的好友發送消息。你的消息被打包,發送到一個特定的 IP 地址,並傳遞給你的伙伴,但他的計算機不知道如何處理收到的信息,因為它不知道應該由哪個應用程序來處理你的消息。當網絡實體進行通信時,端口用於指示應由哪個應用程序處理信息。
端口是 0 到 65535 範圍內的數字。它被添加到冒號後的 IP 地址:192.0.2.235:8080。但是您不能使用指定範圍內的所有端口:其中一些端口是為操作系統保留的,其他端口通常用於特定目的。我們不會深入研究不同端口的用途。現在,了解它們在網絡通信過程中的作用就足夠了。
-
會話層——該層創建和管理通信會話。在這一層,應用程序可以進行交互,發送服務級請求。我們需要知道的是,在這一層,兩個用戶之間打開了一個會話,我們必須對會話進行操作。
會話是在兩個用戶之間建立連接時創建的實體。它可以存儲有關用戶的必要信息以及與用戶交互的歷史記錄。一個重要的細節是,當信息交換停止時,會話不會消失。相反,它會在一段時間內保持其狀態,因此用戶可以在休息後繼續交換信息。
如果應用程序同時與多個用戶通信,則會建立相應數量的連接(以及會話)。每個會話都有一個唯一標識符 (ID),它允許應用程序區分與之通信的用戶。
-
表示層——該層負責編碼/解碼數據。顯然,如果我們需要將字符串“Hello web”發送給另一個用戶,首先會將其轉換(編碼為)二進制代碼,然後再發送。到達收件人後,消息被轉換回(解碼),收件人可以看到原始字符串。這些操作發生在表示層。
-
應用層是我們最感興趣的層。它允許應用程序與網絡通信。在這一層,我們接收和發送消息,並向服務和遠程數據庫發出請求。
這一層使用了許多協議:POP3、FTP、SMTP、XMPP、RDP、SIP、TELNET,當然還有 HTTP/HTTPS。協議是我們在通信時遵守的通用協議。我們一定會單獨提供 HTTP/HTTPS 的詳細討論。
- IP 地址——用戶在網絡中的地址
- 端口——特定用戶應用程序的地址
- 會話——在兩個用戶之間的整個通信期間存在的實體
- 應用程序協議 (HTTP/HTTPS) — 這些是我們在撰寫和發送消息時將遵循的規則。
GO TO FULL VERSION