3 與HTTP相關的各種協議
1 TCP/IP
TCP/IP是網絡世界最常用協議,HTTP通常運行在TCP/IP提供的可靠傳輸基礎上

IP 協議是“Internet Protocol”的縮寫,主要目的是解決尋址和路由問題,以及如何在兩點間傳送數據包。
- IP 協議V4版本:地址是四個用“.”分隔的數字,容量2^32。
- IP 協議V6版本:地址是用八組“:”分隔的數字,容量2^128。
TCP協議是“Transmission Control Protocol”的縮寫,意思是“傳輸控制協議”,它位于 IP 協議之上,基于 IP 協議提供可靠的、字節流形式的通信,是 HTTP 協議得以實現的基礎。
- “可靠”是指保證數據不丟失
- “字節流”是指保證數據完整
所以在 TCP 協議的兩端可以如同操作文件一樣訪問傳輸的數據,就像是讀寫在一個密閉的管道里“流動”的字節。
2 DNS
DNS域名是IP地址的等價替代,需要用域名解析實現到IP地址的映射
DNS:“域名系統”(Domain Name System)
- “域名”(Domain Name)也稱為“主機名”(Host),用“.”分割多個單詞,級別從左到右逐層提高。
- 最右邊稱為頂級域名,如 com 表示商業公司,edu 表示教育機構,cn ck 表示國家。
域名解析:把域名做轉換,“映射”到它的真實IP。

3 URI/URL
URI是用來標記互聯網上資源的一個名字,由“協議名+主機名+路徑”構成,俗稱 URL
URI(Uniform Resource Identifier),中文名稱是 統一資源標識符,使用它就能夠唯一地標記互聯網上資源。
URL(Uniform Resource Locator), 統一資源定位符,也就是我們俗稱的“網址”,它實際上是 URI 的一個子集,不過因為這兩者幾乎是相同的,差異不大,所以通常不會做嚴格的區分。
URI的三個基本的部分:
- 協議名:即訪問該資源應當使用的協議,在這里是“http”;
- 主機名:即互聯網上主機的標記,可以是域名或 IP 地址,如“nginx.org”;
- 路徑:即資源在主機上的位置,使用“/”分隔多級目錄,在如“/en/download.html”。
4 HTTPS
HTTPS相當于“HTTP+SSL/TLS+TCP/IP”,為HTTP套上一個安全的外殼
HTTPS 全稱:“HTTP over SSL/TLS”,運行在SSL/TLS協議上的HTTP。
SSL 全稱:“Secure Socket Layer”,是一個負責加密通信的安全協議,建立在 TCP/IP 之上,所以也是個可靠的傳輸協議,可以被用作 HTTP 的下層。
SSL發展到 3.0 時被標準化,改名為 TLS,即“Transport Layer Security”,但由于歷史的原因還是有很多人稱之為 SSL/TLS,或者直接簡稱為 SSL。
SSL 使用了許多密碼學最先進的研究成果,綜合了 對稱加密、非對稱加密、摘要算法、數字簽名、數字證書 等技術,能夠在不安全的環境中為通信雙方創建出一個秘密的,安全的傳輸通道,為HTTP 套上一個盔甲。
5 代理
代理是HTTP傳輸過程中的“中轉站”,可以實現緩存加速,負載均衡等功能。
代理(Proxy)是 HTTP 協議中請求方和應答方中間的一個環節,作為“中轉站”,既可以轉發客戶端的請求,也可以轉發服務器的應答。
代理有很多的種類,常見的有:
- 匿名代理:完全“隱匿”了被代理的機器,外界看到的只是代理服務器;
- 透明代理:顧名思義,它在傳輸過程中是“透明開放”的,外界既知道代理,也知道客戶端;
- 正向代理:靠近客戶端,代表客戶端向服務器發送請求;
- 反向代理:靠近服務器端,代表服務器響應客戶端的請求。
由于代理在傳輸過程中插入了一個“中間層”,所以可以在這個環節做很多有意思的事情,如:
- 負載均衡:把訪問請求均勻分散到多臺機器,實現訪問集群化。
- 內容緩存:暫存上下行的數據,減輕后端的壓力。
- 安全防護:隱匿IP 使用WAF 等工具抵御網絡工具,保護被代理的機器。
- 數據處理:提供壓縮、加密等額外的功能。
浙公網安備 33010602011771號