上回說到了 HTTP 與 TCP/IP、常見的 HTTP 方法、HTTP 狀態碼與HTTP 報文首部字段。這回主要講講 HTTP 與 HTTPS。算法
在安全方面,HTTP 存在如下幾種缺點。安全
其實上面三種問題能夠總結爲通訊未加密,而 HTTPS 的出現則很好的解決了以上問題。服務器
與 HTTP 協議的明文傳輸相比,HTTPS 是將這些內容加密,確保信息傳輸安全。最後一個字母 S 指的是 SSL(Secure Socket Layer,安全套接層)/TLS(Transport Layer Security,安全傳輸層協議) 協議,它位於 HTTP 協議與 TCP/IP 協議之間。網絡
HTTPS 使用了非對稱加密。
私鑰只存在於服務器上,服務器下發的內容不可能被僞造,由於別人都沒有私鑰,因此沒法加密。 全部人都有公鑰,但私鑰只有服務器有,因此服務器才能看到被加密的內容。學習
針對上面的三個缺點,說一下 HTTPS 是如何應對的。網站
哈希值
一塊兒發送過去,接收方會把解密後的數據與哈希值進行對比,避免被篡改。什麼是哈希值?阿里雲
哈希值是經過哈希算法壓縮後獲得的數據值,理論上來講無論多複雜的數據均可以經過哈希算法求得哈希值。好比咱們下載的 Android SDK 就會提供一個 SHA-256 校驗和,這個就屬於哈希算法的一種。加密
如今有不少網站都已經普遍使用 HTTPS,好比 www.baidu.com
。 code
並且如今 iOS 提交至 App Store 的應用都必須使用 HTTPS 進行網絡請求。因此瞭解如何使用 HTTPS 仍是頗有必要的。cdn
申請方式很簡單了,拿阿里雲舉例,打開官網選擇安全 -> CA 證書服務,填寫信息購買便可。
在上一會咱們講過 HTTP 有三次握手,在加入 HTTPS 以後就變成了四次握手,因此效率會下降一些,不過仍是能接受的。
因爲 HTTPS 會下降必定的速度,還有一些額外的成本。因此對於一些不太須要加密的信息,仍是有不少企業傾向於選擇 HTTP。
這個第二篇和第一篇的間隔有點長,本身最近仍是有點懶,各位多多包涵。
寫博客這種東西,感受對本身仍是有很多幫助的,雖然本身水平不高,可是原本一些比較模糊的知識點,通過查資料、寫博客慢慢也有一些進步了。因此呢,這裏仍是推薦你們嘗試一下經過寫博客進行知識總結和學習,有的時候只是看仍是容易忘的😂。