http與https的區別
HTTP與HTTPS的區別
安全性上,HTTPS是安全超文字協議,在HTTP基礎上有更強的安全性。簡單來說,HTTPS是使用TLS/SSL加密的HTTP協議
申請證書上,HTTPS需要使用ca申請證書
傳輸協議上, HTTP是超文字傳輸協議,明文傳輸;HTTPS是具有安全性的 SSL 加密傳輸協議
連線方式與埠上,http的連線簡單,是無狀態的,埠是 80; https 在http的基礎上使用了ssl協議進行加密傳輸,埠是 443
HTTP的工作過程
HTTP由請求和響應構成,是一個標準的客戶端伺服器模型(C/S)。HTTP協議永遠都是客戶端發起請求,伺服器回送響應。
-
地址解析。域名系統DNS解析域名得到主機的IP地址
-
封裝HTTP請求資料包。封裝的內容有以上部分結合本機自己的資訊。
-
封裝成TCP包,建立TCP連線(TCP的三次握手)
-
客戶機傳送請求命令。 建立連線後,客戶機向伺服器傳送一個請求
-
伺服器響應。伺服器接到請求後,給予相應的響應資訊
-
伺服器關閉TCP連線。一般Web伺服器向瀏覽器傳送了請求資料,它要關閉TCP連線
-
客戶端解析報文,解析HTML程式碼,並渲染
HTTPS的實現原理
HTTP以明文方式傳輸資訊,不能保障資料傳輸的安全。
HTTPS在HTTP的基礎上加入了SSL協議。
HTTPS使用SSL協議和TLS協議
SSL 依靠證書來驗證伺服器的身份,併為瀏覽器和伺服器之間的通訊加密。
HTTPS的通訊過程
https通訊時,首先建立ssl層的連線,客戶端將ssl版本號和加密元件發到伺服器端,伺服器端收到後對ssl版本號和加密元件進行匹配,同時將CA證書及金鑰傳送到客戶端。客戶端對證書進行驗證,驗證通過後使用非對稱加密對資料通訊時的金鑰進行協商。協商後得到一致的獲得一致的對稱加密金鑰。然後使用對稱加密演算法進行TCP連線,後續的過程跟http的過程一致。三次握手,資料交換,四次揮手,通訊結束。
過程如下 :
-
客戶端和伺服器端通過TCP建立連線。
-
客戶端向伺服器傳送HTTPS請求。
-
伺服器響應請求,並將數字證書傳送給客戶端,數字證書包括公共祕鑰、域名、申請證書的公司。
-
客戶端收到伺服器端的數字證書之後,會驗證數字證書的合法性。
-
如果公鑰合格,那麼客戶端會生成一個用於進行對稱加密的金鑰client key,並用伺服器的公鑰對客戶端金鑰進行非對稱加密。
-
客戶端會發起HTTPS中的第二個HTTP請求,將加密之後的客戶端金鑰傳送給伺服器。
-
伺服器接收到客戶端發來的密文之後,會用私鑰對其進行非對稱解密,得到客戶端祕鑰。並使用客戶端祕鑰進行對稱加密,生成密文併傳送。
-
客戶端收到密文,並使用客戶端祕鑰進行解密,渲染網頁。
參考連結:
https://www.jianshu.com/p/14cd2c9d2cd2
相關文章
- HTTP 與 HTTPS 的區別HTTP
- 什麼是HTTPS證書?HTTP與HTTPS的區別HTTP
- http和https的區別HTTP
- HTTPS和HTTP的區別HTTP
- http和https的區別?HTTP
- HTTPS 和 HTTP 的區別HTTP
- http與https的區別我真的知道嗎HTTP
- HTTPS 和 HTTP 的主要區別HTTP
- https與http區別以及https資料加密解密過程HTTP加密解密
- 什麼是HTTP? HTTP 和 HTTPS 的區別?HTTP
- http和https的區別/get和post的區別HTTP
- 簡單介紹HTTP與HTTPS之間的區別HTTP
- HTTP和HTTPS的區別有哪些?HTTP
- HTTP與HTTPS代理有何區別?HTTP工作流程介紹HTTP
- HTTP和HTTPS有哪些區別?HTTP
- 前端面試http和https的區別前端面試HTTP
- HTTP1.0,HTTP1.1,HTTPS和HTTP2.0的區別HTTP
- Http與Https的區別(精簡版包含協議說明)HTTP協議
- HTTP和HTTPS有什麼區別?HTTP
- HTTP和HTTPS有什麼主要的區別?HTTP
- .NET面試題(29) http和https的區別面試題HTTP
- HTTP和HTTPS有什麼區別?如何實現網站的HTTPS?HTTP網站
- SSL證書是什麼?HTTP和HTTPS的區別HTTP
- 架構與思維:瞭解Http 和 Https的區別(圖文詳解)架構HTTP
- HTTP與UDP/TCP區別HTTPUDPTCP
- SSL:http與httpsHTTP
- 9、http隧道、https、SSL層、http代理、線上代理、socks代理區別HTTP
- HTTP 和 HTTPS 之間除了安全性區別外,還有哪些區別HTTP
- HTTP與HTTPS:為什麼HTTPS比HTTP更安全?HTTP
- HTTP發展史,HTTP1.1與HTTP2.0的區別HTTP
- HTTP代理與SOCKS代理的主要區別HTTP
- WebSocket於HTTP 、WebSocket與Socket的區別WebHTTP
- HTTP 與 HTTPS 簡介HTTP
- Http與Https協議HTTP協議
- HTTP、HTTP1.1、HTTP/2的區別HTTP
- 詳解SSL證書系列(8)瞭解HTTPS及和HTTP的區別HTTP
- HTTP和HTTPS是什麼 二者區別是什麼HTTP
- SOCKS代理與HTTP代理主要區別分析HTTP