不可遺漏的知識點,你應該知道的https

2021-09-29 07:50:01 字數 2128 閱讀 8876

基本概念

http:超文字傳輸協議http協議被用於在web瀏覽器和**伺服器之間傳遞資訊,http協議以明文方式傳送內容,不提供任何方式的資料加密,因此,http協議不適合傳輸一些敏感資訊,比如:信用卡號、密碼等支付資訊。

https:是以安全為目標的http通道,簡單講是http的安全版,即http下加入ssl層,https的安全基礎是ssl(ssl記錄協議[ssl record protocol]),因此加密的詳細內容就需要ssl。

https和http的區別

1. https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。

2. http是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議。

3. http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。

4. http的連線很簡單,是無狀態的;

5. https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。

https最大的特點

https最大的特點是安全, 在保護使用者隱私,防止流量劫持方面發揮著非常關鍵的作用。主要有以下3點:

資料完整性。防止內容被第三方冒充或者篡改。

https的缺點

1、證書費用以及更新維護。

2、https降低一定使用者訪問速度(實際上優化好就不是缺點了)。

3、https消耗cpu資源,需要增加大量機器。

https網路訪問過程

http協議下,使用者只需要完成tcp三次握手建立tcp連線就能夠直接傳送http請求獲取應用層資料,此外在整個訪問過程中也沒有需要消耗計算資源的地方。

https的訪問過程,相比http要複雜很多,在部分場景下,使用https訪問有可能增加7個rtt。

三次握手建立tcp連線。耗時乙個rtt。

使用http發起get請求,服務端返回302跳轉到 。需要乙個rtt以及302跳轉延時。

三次握手重新建立tcp連線。耗時乙個rtt。

tls完全握手階段一。耗時至少乙個rtt。

解析ca站點的dns。耗時乙個rtt。

三次握手建立 ca 站點的 tcp 連線。耗時乙個 rtt。

發起 ocsp 請求,獲取響應。耗時乙個 rtt。

完全握手階段二,耗時乙個 rtt 及計算時間。

完全握手結束後,瀏覽器和伺服器之間進行應用層(也就是 http)資料傳輸。

當然不是每個請求都需要增加 7 個 rtt 才能完成 https 首次請求互動。大概只有不到 的請求才有可能需要經歷上述步驟。

https的效能優化

主要優化兩方面,訪問速度和計算效能。

https訪問速度優化

設定hsts,服務端返回乙個hsts的http header,瀏覽器獲取到 hsts 頭部之後,在一段時間內,不管使用者輸入還是http://,都會預設將請求內部跳轉成。chrome, firefox, ie 都支援了hsts。

session resume,復用session可以減少cpu消耗,因為不需要進行非對稱金鑰交換的計算。可以提公升訪問速度,不需要進行完全握手階段二,節省了乙個 rtt 和計算耗時。復用有2種方式,session cache和session ticket。

使用spdy或者http2。spdy最大的特性就是多路復用,能將多個http請求在同乙個連線上一起發出去,不像目前的http協議一樣,只能序列地逐個傳送請求。pipeline雖然支援多個請求一起傳送,但是接收時依然得按照順序接收,本質上無法解決併發的問題。http2支援多路復用,有同樣的效果。

false start。簡單概括false start的原理就是在clientkeyexchange發出時將應用層資料一起發出來,能夠節省乙個rtt。

https計算效能優化

優先使用ecc橢圓加密算術。

使用最新版的openssl。

硬體加速方案。

tls遠端**計算

關於integer你不知道的知識點

integer num3 128 integer num4 128 num3 num4 true or false?integer num1 1 integer num2 1 num1 num2 true or false?第一題答案是false 第二題答案是true integer內部定義了乙個內...

可能被遺漏的https與http的知識點

例如在github pages頁面,這是乙個https頁面,如果在這個頁面向http傳送請求,那麼會直接被瀏覽器拒絕,並在控制台輸出下面的報錯資訊。jquery 1.11.3.min.js 5 mixed content the page at was loaded over https,but r...

你應該知道的ip位址相關知識

圖中 10.17.191.222就是本機ip位址,位址的大小為32bit,這個位址被分為四個部分,也就是每個部分8個bit。按照這種方式給網絡卡分配位址的話,那很快位址就不夠用了,細分的話這個位址其實是ipv4位址。因此就出現了ipv6位址,這個有128位,由16進製表示。32位的ip位址在使用的時...