http協議和https協議【詳解】

http協議和https協議

目錄

http協議和https協議

1、http協議

2、https協議

(1)對稱加密

(2)非對稱加密

(3)對稱+非對稱加密

(4)對稱+非對稱+CA

(5)https:對稱+非對稱+hash散列算法+CA


1、http協議

版本進化歷程:

1.0: 每次都要進行連接請求,才能進而傳輸數據,又斷開連接,不能重複利用已建立的連接。

1.1: 可以利用已建立的連接,因爲有keep-alive,可以使連接保持一段時間,也可以並行請求傳輸數據,但有上限。

存在的問題:(1)明文 沒有壓縮;(2)順序塊傳輸 速度慢,但有一個傳輸錯誤,則會重新傳這個,導致後面無法進行;(3)herder長;(4)server不能主動push

2.0:(1)進行二進制傳輸 有壓縮;(2)單連接+幀 亂序塊傳輸,速度快;(3)header進行壓縮;(4)server可以主動push

2、https協議

(1)對稱加密

(2)非對稱加密

(3)對稱+非對稱加密

對稱+非對稱也可能存在遭遇黑客,如下所示:

小結:

明文=裸奔

對稱:key唯一=明文

非對稱:S——>C不安全

對稱+非對稱:中間人

解決中間人問題:

(4)對稱+非對稱+CA

(5)https:對稱+非對稱+hash散列算法+CA

例:訪問百度

  1. C——>S:支持SSL版本、 非對稱算法 、隨機數1  (SSL:是套接字加密,不是證書)
  2. S——>C:假設就用SSL1.0 、對稱算法 、隨機數2、 證書
  3. C:證書認證
  4. C——>S:隨機數3 、hash(1,2)=xx對1、2步中的數進行hash算法得到一個xx發給S
  5. S:先驗證xx==hash(1,2)?——>再把前面的隨機數1、2、3用一個算法得到用於後面進行對稱加密的Key
  6. S——>C:hash(1,2,4)=zz對1,2,4步中的數進行hash算法得到一個zz發給C
  7. C:先驗證hash(1,2,4)==zz?——>再把前面的隨機數1、2、3用一個算法得到用於後面進行對稱加密的Key

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章