HTTPS協議是HTTP(超文本傳輸協議)的一個擴展,提供了安全的通信。

HTTP本身設計上存在不安全性。

當你在瀏覽器中打開並請求網頁時,你的數據需要經歷2次傳輸:一次從瀏覽器到網頁服務器,一次從網頁服務器到瀏覽器。

此外,根據網頁內容的不同,可能需要更多的連接來獲取CSS文件、JavaScript文件、圖片等等。

在這些連接中,你的數據可能會被任何網絡節點進行檢視操控

這可能帶來嚴重的後果:你的所有網絡活動可能被一個你甚至不知道其存在的第三方監視和記錄,一些網絡可能會注入廣告,而且你可能會成為中間人攻擊的目標,這是一種安全威脅,攻擊者可以操縱你的數據,甚至冒充你的計算機進行網絡操作。對於某個人來說,只要在公共的未加密的Wi-Fi網絡上聽取HTTP數據包是非常容易的。

HTTPS旨在從根本上解決這個問題:你的瀏覽器和網頁服務器之間的整個通信過程都是加密的。

隱私和安全是當今互聯網的一個重大關注點。幾年前,你可能只需要在登錄保護的頁面或電子商務結帳時使用加密連接。由於SSL證書的價格和複雜性,大多數網站僅使用HTTP。

而今天,任何網站都需要使用HTTPS。整個Web中超過50%的網站正在使用HTTPS。Google Chrome最近開始將HTTP網站標記為不安全,只為了給你一個強制在所有網站上強制使用HTTPS的合理理由。

使用HTTP時,默認的服務器端口是80,使用HTTPS時是443。如果服務器使用默認端口,則無需額外添加。

HTTPS有時也被稱為HTTP over SSLHTTP over TLS

兩者之間的區別很簡單:TLS是SSL的後繼者。

使用HTTPS時,唯一不加密的是網頁服務器的域名和服務器端口。

其他所有信息,包括資源路徑、標頭、Cookie和查詢參數都是加密的。

我不會詳細分析TLS協議的工作原理,但你可能認為它會增加相當多的開銷,你是對的。

在處理網絡資源時增加的任何計算都會給客戶端、服務器端和傳輸的數據包大小帶來開銷。

然而,HTTPS使得使用最新的協議HTTP/2成為可能,這相對於HTTP/1.1具有巨大的優勢:速度更快。

原因有很多,其中之一是標頭壓縮,另一個是資源多路徑。還有服務器推送功能,當請求某個資源時,服務器可以同時推送所需的所有資源(圖片、CSS、JS)。

除此之外,HTTP/2相對於HTTP/1.1有著更多的優點,前提是使用現代的設置進行合理配置,這使得HTTPS相對於HTTP來說速度更快。