HTTP和HTTPS的區別,TCP爲何要三次握手和四次揮手

參考:https://blog.csdn.net/xiaoming100001/article/details/81109617

HTTP特點

  1. 無狀態:協議對客戶端沒有狀態存儲,對事物處理沒有“記憶”能力,比如訪問一個網站需要反覆進行登錄操作
  2. 無連接:HTTP/1.1之前,由於無狀態特點,每次請求需要通過TCP三次握手四次揮手,和服務器重新建立連接。比如某個客戶機在短時間多次請求同一個資源,服務器並不能區別是否已經響應過用戶的請求,所以每次需要重新響應請求,需要耗費不必要的時間和流量。
  3. 基於請求和響應:基本的特性,由客戶端發起請求,服務端響應
  4. 簡單快速、靈活
  5. 通信使用明文、請求和響應不會對通信方進行確認、無法保護數據的完整性

使用http傳輸數據至少存在着數據被監聽以及數據被篡改這兩大風險,因此http是一種不安全的傳輸協議。

HTTPS特點

  1. 內容加密:採用混合加密技術,中間者無法直接查看明文內容
  2. 驗證身份:通過證書認證客戶端訪問的是自己的服務器
  3. 保護數據完整性:防止傳輸的內容被中間人冒充或者篡改

https使用的是對稱加密還是非對稱加密呢?答案也很明顯了,https使用的是對稱加密與非對稱加密相結合的方式。

對稱加密的優點是加解密效率高。只有在瀏覽器和網站首次商定密鑰的時候需要使用非對稱加密,一旦網站收到了瀏覽器隨機生成的密鑰之後,雙方就可以都使用對稱加密來進行通信了,因此工作效率是非常高的。

HTTPS混合加密:

混合加密:結合非對稱加密和對稱加密技術。客戶端使用對稱加密生成密鑰對傳輸數據進行加密,然後使用非對稱加密的公鑰再對祕鑰進行加密,所以網絡上傳輸的數據是被祕鑰加密的密文和用公鑰加密後的祕密祕鑰,因此即使被黑客截取,由於沒有私鑰,無法獲取到加密明文的祕鑰,便無法獲取到明文數據。

混合加密的好處:

  • 收方能夠證實發送方的真實身份;
  • 發送方事後不能否認所發送過的報文;
  • 收方或非法者不能僞造、篡改報文。

 

TCP三次握手和四次揮手

三次握手

爲了防止已失效的連接請求報文段突然又傳送到了服務端,因而產生錯誤。

比如:client發出的第一個連接請求報文段並沒有丟失,而是在某個網絡結點長時間的滯留了,以致延誤到連接釋放以後的某個時間纔到達server。本來這是一個早已失效的報文段,但是server收到此失效的連接請求報文段後,就誤認爲是client再次發出的一個新的連接請求,於是就向client發出確認報文段,同意建立連接。假設不採用“三次握手”,那麼只要server發出確認,新的連接就建立了,由於client並沒有發出建立連接的請求,因此不會理睬server的確認,也不會向server發送數據,但server卻以爲新的運輸連接已經建立,並一直等待client發來數據。所以沒有采用“三次握手”,這種情況下server的很多資源就白白浪費掉了。
 

四次揮手

TCP是全雙工模式,當client發出FIN報文段時,只是表示client已經沒有數據要發送了,client告訴server,它的數據已經全部發送完畢了;但是,這個時候client還是可以接受來server的數據;當server返回ACK報文段時,表示它已經知道client沒有數據發送了,但是server還是可以發送數據到client的;當server也發送了FIN報文段時,這個時候就表示server也沒有數據要發送了,就會告訴client,我也沒有數據要發送了,如果收到client確認報文段,之後彼此就會愉快的中斷這次TCP連接。

 

 

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