一、TCP(傳輸控制協議)
1. 宏觀介紹
- TCP:全稱“Transmission Control Protocol”——傳輸控制協議,是互聯網最基礎的傳輸協議之一。傳輸層協議,提供面向連接、可靠的字節流傳輸服務。它通過三次握手建立連接、四次揮手斷開連接,確保數據有序、完整地傳輸
- 作用:讓兩個設備(比如你的電腦和服務器)之間建立一條“可靠的連接”來傳輸數據。
2. 它是做什么的?
- 連接導向:在通信開始前,雙方先“握手”建立連接。
- 可靠傳輸:確保每個數據包都能到達,而且是按順序的,沒有丟失。
- 流控和擁塞控制:控制數據傳輸速率,避免網絡堵塞。
3. 它的工作原理(簡單版)
- 三次握手(建立連接):
- 客戶端發“請求連接”包
- 服務器響應“確認”包
- 客戶端再確認一次,連接建立完畢。
- 數據傳輸:
- 以“數據包”的形式,確認每個包都收到后,才會繼續發下一包。
- 如果包丟失或錯誤,自動重發。
- 四次揮手(斷開連接):
- 關閉連接時,雙方互相確認斷開,確保沒有數據遺漏。
4. 特點和優缺點
- 優點:
- 可靠,確保數據完整到達。
- 順序到達,消息有序。
- 支持流控(控制速率)和擁塞控制。
- 缺點:
- 連接建立的過程比較復雜(三次握手)。
- 傳輸效率因確認和重傳機制較低(相對其他協議)。
5. 適用場景
- 需要可靠性的傳輸:比如文件傳輸(FTP)、電子郵件、即時通訊(聊天更喜歡用TCP的基礎,由應用協議控制)。
二、HTTP(超文本傳輸協議)
1. 宏觀介紹
- HTTP:“HyperText Transfer Protocol”,超文本傳輸協議,是Web瀏覽器和Web服務器之間的通信協議。應用層協議,基于 TCP,用于客戶端與服務器之間的請求-響應交互。常用于網頁數據傳輸(如 HTML、圖片)
- 作用:用來請求網頁、圖片、視頻等內容,以及上傳、提交表單。
2. 它是怎么工作的?
-
無連接:默認每次請求完成就斷開連接(HTTP/1.0),也支持保持連接(HTTP/1.1 默認保持連接)。每次請求獨立,需 Cookie/Session 維持狀態。
-
請求-響應模型:
- 客戶端(瀏覽器)發起請求(GET、POST等方法)到服務器。其他如
PUT
、DELETE
(RESTful API 常用) - 服務器處理請求,返回資源(網頁、圖片等)或響應狀態(如
- 客戶端(瀏覽器)發起請求(GET、POST等方法)到服務器。其他如