HTTP、SSL/TSL、HTTPS、TCP、UDP

HTTP、SSL/TSL、HTTPS、TCP、UDP

HTTP

HTTP 是一個網路協議,是專門用來傳輸 Web 內容,明文傳輸。

HTTP 和 TCP 之間的關係

簡單地說,TCP 協議是 HTTP 協議的基石——HTTP 協議需要依靠 TCP 協議來傳輸數據。TCP 被稱為「傳輸層協議」,而 HTTP 被稱為「應用層協議」。傳輸層主要有兩個協議,分別是 TCP 和 UDP。TCP 比 UDP 更可靠。

HTTP 協議如何使用 TCP 連接

HTTP 對 TCP 連接的使用,分為兩種方式:俗稱「短連接」和「長連接」(「長連接」又稱「持久連接」,英文叫做「Keep-Alive」或「Persistent Connection」)。現場常用的是長連接,反覆傳輸的資源小。

SSL/TLS

互聯網上使用的 HTTP 協議是明文的,存在很多缺點——比如傳輸內容會被偷窺(嗅探)和篡改。發明 SSL 協議,就是為了解決這些問題。SSL 是「Secure Sockets Layer」的縮寫,中文叫做「安全套接層」。到1999年,SSL 因為應用廣泛,已經成為互聯網上的事實標準。IETF 就在把 SSL 標準化。標準化之後的名稱改為 TLS(是「Transport Layer Security」的縮寫),中文叫做「傳輸層安全協議」。傳輸層安全 (TLS) 是 SSL 的繼承協議,SSL與TLS為同一種東西為不同階段的叫法。

SSL 直接在傳輸控制協議 (TCP) 基礎上高效運行,像安全毯一樣發揮著重要防護作用。

HTTPS

HTTPS 協議,說就是「HTTP 協議」和「SSL/TLS 協議」的組合。

計算機網路分層

推薦閱讀:

從TCP三次握手說起--淺析TCP協議中的疑難雜症(2)
在TCP里可以讓數個Application共享一個Port么?
TCP四次分手是在幹什麼?
能不能不使用Socket進行網路通信?
為什麼http下載不是直接下載而是一點一點地加快速度?如果直接下載會有什麼後果?

TAG:TCP | 網路協議 | HTTP |