HTTP 與 HTTPs 的工作方式【建立連接的過程】、區(qū)別、加密方式

HTTP

HTTP(Hyper Text Transfer Protocol: 超文本傳輸協(xié)議) 是一種簡單的請求 - 響應(yīng)協(xié)議,被用于在 Web 瀏覽器和 網(wǎng)站服務(wù)器之間傳遞消息。HTTP 使用 TCP(而不是 UDP)作為它的支撐運輸層協(xié)議。其默認工作在 TCP 協(xié)議 80 端口,HTTP 客戶機發(fā)起一個與服務(wù)器的 TCP 連接,一旦連接建立,瀏覽器和服務(wù)器進程就可以通過套接字接口訪 問 TCP??蛻魴C從套接字接口發(fā)送 HTTP 請求報文和接收 HTTP 響應(yīng)報文。類似地,服務(wù)器也是從套接字接口接收 HTTP 請求報文和發(fā)送 HTTP 響應(yīng)報文。其通信內(nèi)容以明文的方式發(fā)送,不通過任何方式的數(shù)據(jù)加密。當通信結(jié)束 時,客戶端與服務(wù)器關(guān)閉連接。

HTTPS

HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)是以安全為目標的 HTTP 協(xié)議,在 HTTP 的基 礎(chǔ)上通過傳輸加密和身份認證的方式保證了傳輸過程的安全性。其工作流程如下:

  1. 客戶端發(fā)起一個 HTTPS 請求,并連接到服務(wù)器的 443 端口,發(fā)送的信息主要包括自身所支持的算法列表和密鑰 ?度等;
  2. 服務(wù)端將自身所支持的所有加密算法與客戶端的算法列表進行對比并選擇一種支持的加密算法,然后將它和其它 密鑰組件一同發(fā)送給客戶端。
  3. 服務(wù)器向客戶端發(fā)送一個包含數(shù)字證書的報文,該數(shù)字證書中包含證書的頒發(fā)機構(gòu)、過期時間、服務(wù)端的公鑰等 信息。
  4. 最后服務(wù)端發(fā)送一個完成報文通知客戶端 SSL 的第一階段已經(jīng)協(xié)商完成。
  5. SSL 第一次協(xié)商完成后,客戶端發(fā)送一個回應(yīng)報文,報文中包含一個客戶端生成的隨機密碼串,稱為
    pre_master_secre,并且該報文是經(jīng)過證書中的公鑰加密過的。
  6. 緊接著客戶端會發(fā)送一個報文提示服務(wù)端在此之后的報文是采用pre_master_secre 加密的。
  7. 客戶端向服務(wù)端發(fā)送一個 finish 報文,這次握手中包含第一次握手至今所有報文的整體校驗值,最終協(xié)商是否 完成取決于服務(wù)端能否成功解密。
  8. 服務(wù)端同樣發(fā)送與第 6 步中相同作用的報文,已讓客戶端進行確認,最后發(fā)送 finish 報文告訴客戶端自己能夠 正確解密報文。

當服務(wù)端和客戶端的 finish 報文交換完成之后,SSL 連接就算建立完成了,之后就進行和 HTTP 相同的通信過程, 唯一不同的是在 HTTP 通信過程中并不是采用明文傳輸,而是采用對稱加密的方式,其中對稱密鑰已經(jīng)在 SSL 的建 立過程中協(xié)商好了。

HTTPS 和 HTTP 的區(qū)別

  • HTTP 協(xié)議以明文方式發(fā)送內(nèi)容,數(shù)據(jù)都是未加密的,安全性較差。HTTPS 數(shù)據(jù)傳輸過程是加密的,安全性較好。
  • HTTP 和 HTTPS 使用的是完全不同的連接方式,用的端口也不一樣,前者是 80 端口,后者是 443 端口。
  • HTTPS 協(xié)議需要到數(shù)字認證機構(gòu)(Certificate Authority, CA)申請證書,一般需要一定的費用。
  • HTTP ?面響應(yīng)比 HTTPS 快,主要因為 HTTP 使用 3 次握手建立連接,客戶端和服務(wù)器需要握手 3 次,而HTTPS 除了 TCP 的 3 次握手,還需要經(jīng)歷一個 SSL 協(xié)商過程。

HTTPS 的加密方式

HTTPS 采用對稱加密和非對稱加密相結(jié)合的方式,首先使用 SSL/TLS 協(xié)議進行加密傳輸,為了彌補非對稱加密的 缺點,HTTPS 采用證書來進一步加強非對稱加密的安全性,通過非對稱加密,客戶端和服務(wù)端協(xié)商好之后進行通信 傳輸?shù)膶ΨQ密鑰,后續(xù)的所有信息都通過該對稱秘鑰進行加密解密,完成整個 HTTPS 的流程。



HTTP 與 HTTPS 的區(qū)別


摘抄自網(wǎng)絡(luò)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容