HTTP 協議知識點總結(二)HTTPS

https.jpg

上回說到了 HTTP 與 TCP/IP、常見的 HTTP 方法、HTTP 狀態碼與HTTP 報文首部字段。這回主要講講 HTTP 與 HTTPS算法

HTTP 存在的缺點

在安全方面,HTTP 存在如下幾種缺點。安全

  1. **竊聽風險:**因爲通信使用明文傳輸,內容可能會泄露。
  2. **篡改風險:**第三方對傳輸的數據進行篡改,影響與服務端之間的正確通訊。
  3. **冒充風險:**可能會出現中間人攻擊,第三方冒充服務器。

其實上面三種問題能夠總結爲通訊未加密,而 HTTPS 的出現則很好的解決了以上問題。服務器

什麼是 HTTPS

與 HTTP 協議的明文傳輸相比,HTTPS 是將這些內容加密,確保信息傳輸安全。最後一個字母 S 指的是 SSL(Secure Socket Layer,安全套接層)/TLS(Transport Layer Security,安全傳輸層協議) 協議,它位於 HTTP 協議與 TCP/IP 協議之間。網絡

HTTPS 使用了非對稱加密
私鑰只存在於服務器上,服務器下發的內容不可能被僞造,由於別人都沒有私鑰,因此沒法加密。 全部人都有公鑰,但私鑰只有服務器有,因此服務器才能看到被加密的內容。學習

HTTPS 的工做過程

針對上面的三個缺點,說一下 HTTPS 是如何應對的。網站

  1. HTTPS 使用非對稱加密傳輸密碼,使用這個密碼加密數據,避免第三方獲取內容。
  2. 發送方將信息的哈希值一塊兒發送過去,接收方會把解密後的數據與哈希值進行對比,避免被篡改。
  3. HTTPS 由權威機構頒佈 CA(Certificate Authority,電子商務認證受權機構) 證書,使用證書校驗機制防止第三方的假裝。

什麼是哈希值?阿里雲

哈希值是經過哈希算法壓縮後獲得的數據值,理論上來講無論多複雜的數據均可以經過哈希算法求得哈希值。好比咱們下載的 Android SDK 就會提供一個 SHA-256 校驗和,這個就屬於哈希算法的一種。加密

SHA-256

如何使用 HTTPS

如今有不少網站都已經普遍使用 HTTPS,好比 www.baidu.comcode

並且如今 iOS 提交至 App Store 的應用都必須使用 HTTPS 進行網絡請求。因此瞭解如何使用 HTTPS 仍是頗有必要的。cdn

申請方式很簡單了,拿阿里雲舉例,打開官網選擇安全 -> CA 證書服務,填寫信息購買便可。

阿里雲

爲何不一直使用 HTTPS

在上一會咱們講過 HTTP 有三次握手,在加入 HTTPS 以後就變成了四次握手,因此效率會下降一些,不過仍是能接受的。

因爲 HTTPS 會下降必定的速度,還有一些額外的成本。因此對於一些不太須要加密的信息,仍是有不少企業傾向於選擇 HTTP。

最後

這個第二篇和第一篇的間隔有點長,本身最近仍是有點懶,各位多多包涵。

寫博客這種東西,感受對本身仍是有很多幫助的,雖然本身水平不高,可是原本一些比較模糊的知識點,通過查資料、寫博客慢慢也有一些進步了。因此呢,這裏仍是推薦你們嘗試一下經過寫博客進行知識總結和學習,有的時候只是看仍是容易忘的😂。

相關文章
相關標籤/搜索