http和https的區別以及優缺點


一:基本概念

  HTTP(HyperText Transfer Protocol:超文本傳輸協議)是一種用於分布式、協作式和超媒體信息系統的應用層協議。也就是一種發送和接收html頁面的方法,主要用於web瀏覽器和網站服務器之間的信息傳遞.

  HTTP工作默認在TCP協議80端口,http協議傳輸以明文傳遞,如果攻擊者讀取web瀏覽器和網站服務器之間的報文就會導致信息泄露,所以http不適合傳輸敏感信息

     HTTPS(Hypertext Transfer Protocol Secure:超文本傳輸安全協議)是一種透過計算機網絡進行安全通信的傳輸協議。HTTPS 經由 HTTP 進行通信,但利用 SSL/TLS 來加密數據包。

        HTTPS 開發的主要目的,是提供對網站服務器的身份認證,保護交換數據的隱私與完整性。HTTPS 默認工作在 TCP 協議443端口,它的工作流程一般如以下方式

    1.TCP 三次同步握手

    2.客戶端驗證服務器數字證書

    3.DH 算法協商對稱加密算法的密鑰、hash 算法的密鑰

    4.SSL 安全加密隧道協商完成

    5.網頁以加密的方式傳輸,用協商的對稱加密算法和密鑰加密,保證數據機密性;用協商的hash算法進行數據完整性保護,保證數據不被篡改。

二:HTTP 與 HTTPS 區別

  1.HTTP 明文傳輸,數據都是未加密的,安全性較差,HTTPS(SSL+HTTP) 數據傳輸過程是加密的,安全性較好。

  2.使用 HTTPS 協議需要到 CA(Certificate Authority,數字證書認證機構) 申請證書,一般免費證書較少,因而需要一定費用。證書頒發機構如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。

  3.HTTP 頁面響應速度比 HTTPS 快,主要是因為 HTTP 使用 TCP 三次握手建立連接,客戶端和服務器需要交換 3 個包,而 HTTPS除了 TCP 的三個包,還要加上 ssl 握手需要的 9 個包,所以一共是 12 個包。

  4.http 和 https 使用的是完全不同的連接方式,用的端口也不一樣,前者是 80,后者是 443

  5.HTTPS 其實就是建構在 SSL/TLS 之上的 HTTP 協議,所以,要比較 HTTPS 比 HTTP 要更耗費服務器資源。

三:TCP三次握手分別是什么

  1.第一次握手:客戶端嘗試連接服務器,向服務器發送 syn 包(同步序列編號Synchronize Sequence Numbers),syn=j,客戶端進入 SYN_SEND 狀態等待服務器確認

  2.第二次握手:服務器接收客戶端syn包並確認(ack=j+1),同時向客戶端發送一個 SYN包(syn=k),即 SYN+ACK 包,此時服務器進入 SYN_RECV 狀態

  3.第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手

  簡單理解就是

       

 

 

四:HTTPS 的工作原理

  1.客戶使用https的URL訪問Web服務器,要求與Web服務器建立SSL連接。

  2.Web服務器收到客戶端請求后,會將網站的證書信息(證書中包含公鑰)傳送一份給客戶端。

  3.客戶端的瀏覽器與Web服務器開始協商SSL連接的安全等級,也就是信息加密的等級。

  4.客戶端的瀏覽器根據雙方同意的安全等級,建立會話密鑰,然后利用網站的公鑰將會話密鑰加密,並傳送給網站。

  5.Web服務器利用自己的私鑰解密出會話密鑰。

  6.Web服務器利用會話密鑰加密與客戶端之間的通信。

五:HTTPS 的優點

  1.使用HTTPS協議可認證用戶和服務器,確保數據發送到正確的客戶機和服務器;

  2.HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,要比http協議安全,可防止數據在傳輸過程中不被竊取、改變,確保數據的完整性。

  3.HTTPS是現行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。

  4.谷歌曾在2014年8月份調整搜索引擎算法,並稱“比起同等HTTP網站,采用HTTPS加密的網站在搜索結果中的排名將會更高”。

六:HTTPS的缺點

  1.SSL證書需要錢,功能越強大的證書費用越高

  2.SSL證書通常需要綁定IP,不能在同一IP上綁定多個域名

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM