TCP
傳輸控制協議是一種面向連接的、可靠的、基於字節流的傳輸層通信協議,由IETF的RFC793定義。
TCP主要特點:
1. 面向連接: (1)應用程序在使用TCP協議之前,必須先建立TCP連接。 (2)在傳輸數據完畢后,必須釋放已經建立的TCP連接。
2. 每一條TCP連接只能是點對點的(一對一)
3. 提供可靠交付的服務: (1)通過TCP連接傳送的數據,無差錯、不丟失、不重復,並且按序到達;
4. 提供全雙工通信: (1)TCP允許通信雙方的應用進程在任何時候都能發送數據。 (2)TCP連接的兩端都設有發送緩存和接收緩存,用來臨時存放雙向通信的數據。 (3)在發送時,應用程序把數據傳輸給TCP的緩存后,就可以做自己的事,而TCP在合適的時候把數據發送出去。 (4)在接收時,TCP把收到的數據放入緩存,上層的應用進程在合適的時候讀取緩存中的數據。
5. 面向字節流: (1)TCP中的流指的是流入到進程或從進程留出的字節序列。
UDP
Internet 協議集支持一個無連接的傳輸協議,該協議稱為用戶數據報協議。UDP為應用程序提供了一種無需建立連接就可以發送封裝的IP 數據報的方法。RFC768描述了UDP
UDP主要特點:
1. 無連接: (1) UDP是無連接的,即通信時不需要創建連接(發送數據結束時也沒有連接可以釋放)所以減小了開銷和發送數據前的時延。
2. 盡最大努力交付: (1) 不保證可靠交付,因此主機不需要維護復雜的連接狀態。
3. 面向報文: (1) 只在應用層交下來的報文前增加了首部后就向下交付IP層。
4. 無擁塞控制: (1) UDP是無阻塞控制的,即使網絡中存在阻塞,也不會影響發送端的發送頻率。
5. 支持一對一、一對多、多對一和多對多的交互通信;
6. 首部開銷小(只有四個字段:源端口、目的端口、長度、檢驗和): (1) 只有8個字節,它比TCP的20個字節的首部要短
HTTP
1. http是一個簡單的請求-響應協議,它通常運行在TCP之上。 2. 它指定了客戶端可能發送給服務器什么樣的消息以及得到什么樣的響應。 3. 請求和響應消息的頭以ASCII碼形式給出;而消息內容則具有一個類似MIME的格式。 4. 這個簡單模型是早期Web成功的有功之臣,因為它使得開發和部署是那么的直截了當。
http主要特點:
1.支持客戶/服務器模式。 2.簡單快速: (1) 客戶向服務器請求服務時,只需傳送請求方法和路徑。 (2) 請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯系的類型不同。 (3) 由於HTTP協議簡單,使得HTTP服務器的程序規模小,因而通信速度很快。 3.靈活: (1) HTTP允許傳輸任意類型的數據對象。 (2) 正在傳輸的類型由Content-Type(Content-Type是HTTP包中用來表示內容類型的標識)加以標記。 4.無連接: (1) 無連接的含義是限制每次連接只處理一個請求。 (2) 服務器處理完客戶的請求,並收到客戶的應答后,即斷開連接。 (3) 采用這種方式可以節省傳輸時間。 5.無狀態: (1) HTTP協議是無狀態協議。 (2) 無狀態是指協議對於事務處理沒有記憶能力。 (3) 缺少狀態意味着如果后續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。 (4) 一方面,在服務器不需要先前信息時它的應答就較快。
HTTPS
(簡而言之,就是對http進行了加密)
1. HTTPS 是以安全為目標的HTTP通道,在HTTP的基礎上通過傳輸加密和身份認證保證了傳輸過程的安全性 。 2. HTTPS 在HTTP的基礎下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。 3. HTTPS 存在不同於HTTP的默認端口及一個加密/身份驗證層(在 HTTP與 TCP 之間)。 4. 這個系統提供了身份驗證與加密通訊方法。 5. 現在它被廣泛用於萬維網上安全敏感的通訊,例如交易支付等方面 。
HTTPS主要特點:
1. 基於HTTP協議,通過SSL或TLS提供加密處理數據、驗證對方身份以及數據完整性保護 2. 內容加密: (1) 采用混合加密技術,中間者無法直接查看明文內容 3. 驗證身份: (1) 通過證書認證客戶端訪問的是自己的服務器 4. 保護數據完整性: (1) 防止傳輸的內容被中間人冒充或者篡改