HTTP HTTPS 你了解了嗎?

2021-10-03 08:11:11 字數 1858 閱讀 6760

認識https之前,先來講講http存在的缺點:

在一些場景,使用http沒有問題,但是在一些涉及到隱私、支付方面的問題的時候,我們就不能忽略http存在的問題。而https的出現,就是為了解決http存在的問題,那麼什麼是https

https = http + 加密 + 認證 + 完整性保護

可以看出https是在http的基礎上加了加密認證完整性保護https並不是一種新的協議,只是相比較http,它的通訊介面是由sslsecure socket layer)和tsltransport layer security)協議代替。這個過程會是這樣,http會先和ssl通訊,然後ssltcp通訊,所以https又被稱為身披ssl協議外殼的http

那麼,接下來我們看看https是如何完成加密、認證以及完整性保護。

https採用混合加密機制,即共享金鑰加密和公開金鑰加密兩者並用。

但是,一方面共享金鑰需要將加解密用的公鑰傳送給對方,但是如果在傳送的過程被劫持了公鑰會導致內容洩漏。另一方面,由於公開金鑰需要公開公鑰,如果有採用私鑰加密的資訊,被其他人擷取,則可以使用公開金鑰解密。

因此,https結合兩種加密的優點,傳輸階段,使用公開金鑰加密的公鑰加密交換之後需要用於解密的共享金鑰的公鑰,解密階段,則用公開金鑰的私鑰解密出傳輸過來的共享金鑰的公鑰,然後用這個共享金鑰的公鑰進行進行解密。

https通過數字簽名的方式來驗證資料報在傳輸過程中是否被篡改。

數字簽名使用的是公開金鑰加密技術。首先,由傳送方通過hash演算法將要傳送的資料生成訊息摘要,然後使用傳送者的公鑰加密生成數字簽名,再和資料一起傳送給接收方。接收方接收到後,使用私鑰對數字簽名進行解密,然後將解密後的內容和傳送過來的資料進行對比,檢測資料是否遭到修改。

其實,雖說混合加密機制可以防止通訊被竊聽。但是,並不能驗證公開金鑰的真實性,即可能再傳輸過程中我們的公開金鑰已經被替換掉了。所以這個時候我們就需要使用由數字證書認證機構和其相關機關頒發的公開金鑰證數來確定公開金鑰的真實性。與此同時,這也確保了通訊雙方的身份,因為數字證數是客戶端和伺服器雙方都可以信賴的。

數字證數認證機構的業務流程:

講了這麼多https的優點以及彌補了http的不足。那麼,大家會想為什麼我們現在大多數還是使用http呢?因為,和http通訊的簡單文字形式的傳輸,https加密的通訊方式會消耗更多的cpu和記憶體。如果,所有的通訊都選擇https,那麼消耗的資源會成倍地增加,相應地能併發地請求的數量也會減少。所以,在很多情況下,只有涉及到敏感資訊的通訊時才會使用https

Vue router你真的了解了嗎

6.1 如何實現改變url的情況下頁面不進行重新整理location.hash 設定乙個值 history.pushstate 6.2 建立路由 掌握基本的結構 在使用腳手架建立的時候使用路由,能夠在src下建立乙個route檔案,裡面的index.js來配置路由資訊,並且在main.js裡面進行匯...

web3 0你了解了嗎?

1 web2.0 1.1 什麼是2.0 定義 所謂的2.0是網際網路應用理念上和架構上的公升級,而不是簡單的某種技術的創新或者某種應用 ajax blog rss wiki,這些是web2.0?ajax只是一種一直以來都存在的應用,blog只不過是個人主頁的一種改進,rss只不過是xml中一種格式。...

Ui設計分類都有哪些呢?你都了解了嗎

ui設計分類從大的方面分類就三大類,這不同的型別都會給使用者帶來怎樣不同的體驗感受呢,怎樣的ui設計分類是大家所需求的,下面這篇文章的分享希望能讓你有不一樣的認識。1,使用者研究 我們再產品開發的前期,通過調查研究,了解使用者的工作性質,工作流程 工作環境 工作中的適用習慣,挖掘出使用者對產品功能的...