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下載不是直接下載而是一點一點地加快速度?如果直接下載會有什麼後果?