Http和Https
首先我們介紹一下http和https,http是超文本傳輸協議,無狀態并且是明文傳輸,https是在http協議的基礎上增加了SSL/TLS協議,設備之間的通信是加密的,比Http協議安全,我們先了解一下TCP/IP網路模型和OSI七層網路模型,先知道HTTP協議主要作業在哪一層,
TCP/IP網路模型


OSI七層網路模型

HTTP
組成:
超文本(Hypertext)、傳輸(Transfer)、協議(Protocol),默認是作業在80埠,以明文方式傳輸內容,不提供任何方式的資料加密,所以如果被截取到,即可知道里面的內容,
HTTPS HTTP + TLS/SSL
介紹:
Hypertext Transfer Protocol Secure, 超文本傳輸安全協議,默認是作業在443埠,采用SSL/TLS協議來加密資料包,提高了資料的安全性,
通訊程序:
- 首先客戶端和服務端需要進行TCP三次握手,建立連接,并且客戶端發送https請求,
- 服務端收到請求,將ssl證書發送給客戶端,證書其實就是公鑰,里面還包含其他的資訊,例如域名、申請的公司、過期時間等等
- 客戶端決議并驗證證書,如果證書沒問題,客戶端會生成一個秘鑰,之后會使用證書中的公鑰對該秘鑰進行非對稱加密
- 客戶端將加密后的秘鑰發送給服務端,
- 服務端決議秘鑰,這里使用服務器的私鑰進行解密,得到客戶端剛剛生成的秘鑰,
- 服務端將需要傳輸的資料使用剛剛解密出來的秘鑰進行對稱加密,傳輸給客戶端,
- 客戶端使用生成的秘鑰對接收到的資料進行解密,獲取真實的資料,
包含的演算法:
- 秘鑰交換演算法
- 簽名演算法
- 對稱加密演算法
- 摘要演算法
解決的相關問題:
- 傳輸程序容易被攻擊者監聽
- 傳輸的資料容易被攻擊者竊取
- 發送方和接收方容易被偽造
總結:
模型:

區別:
- HTTP 的默認埠是 80,而 HTTPS 的默認埠是443
- http是明文傳輸,https是加密傳輸,https相對而言更安全,
- http連接簡單,并且是無狀態的,https連接需要使用秘鑰進行加密解密,連接比http復雜,
- http相應快,只需要進行TCP三次握手,https相比較,相應速度慢,除了TCP三次握手,還需要進行SSL握手,
- http不需要申請證書,https需要購買ssl證書,
- 瀏覽器顯示不同,http瀏覽器會顯示不安全,https瀏覽器會顯示護盾或者鎖標志,點擊可以看到證書相關資訊,
關注微信公眾號「平哥技術站」, 每日更新,在手機上閱讀所有教程,隨時隨地都能學習,
覺得寫的還不錯的小伙伴,請作者喝杯咖啡? ,支持一下,??
如有侵權請立即與我們聯系,我們將及時處理,聯系郵箱:[email protected],
原文鏈接:https://monkey.blog.xpyvip.top/archives/http-https
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/523123.html
標籤:其他
