Socket與WebSocket以及http與https重新總結


Socket與WebSocket以及http與https重新總結

一.Socket

網絡中的Socket是一個抽象的接口 ,而是為了方便使用TCPUDP而抽象出來的一層 ,可以理解為網絡中連接的兩端。通常被叫做套接字接口.

二.WebSocket

WebSocket就是其中一種,是為了創建一種雙向通信(全雙工)的協議 ,來彌補HTTP協議在持久通信能力上的不足

WebSocket連接的過程是:
首先,客戶端發起http請求,經過3次握手后,建立起TCP連接;http請求里存放WebSocket支持的版本號等信息,如:Upgrade、Connection、WebSocket-Version等;
然后,服務器收到客戶端的握手請求后,同樣采用HTTP協議回饋數據;
最后,客戶端收到連接成功的消息后,開始借助於TCP傳輸信道進行全雙工通信。

三.總結兩者關系

Socket是傳輸控制層接口,WebSocket是應用層協議。

四.http與https

兩者的概念

  • http協議:是超文本傳輸協議,信息是明文傳輸。如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息。

  • https協議:是具有安全性的ssl加密傳輸協議,為瀏覽器和服務器之間的通信加密,確保數據傳輸的安全。

連接方式不同

1、http協議:http的連接很簡單,是無狀態的。

2、https協議:是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議。

端口不同

1、http協議:使用的端口是80。

2、https協議:使用的端口是443.

證書申請方式不同

1、http協議:免費申請。

2、https協議:需要到ca申請證書,一般免費證書很少,需要交費。

五.ssl協議

參考https://www.cnblogs.com/jztan/p/8159086.html

先講兩個概念

  • 對稱加密: 加密和解密的秘鑰使用的是同一個.
  • 非對稱加密: 與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)

ssl協議是非對稱加密

SSL協議的握手過程

先用語言來闡述下:

第一步:愛麗絲給出支持SSL協議版本號,一個客戶端隨機數(Client random,請注意這是第一個隨機數),客戶端支持的加密方法等信息;

第二步:鮑勃收到信息后,確認雙方使用的加密方法,並返回數字證書,一個服務器生成的隨機數(Server random,注意這是第二個隨機數)等信息;

第三步:愛麗絲確認數字證書的有效性,然后生成一個新的隨機數(Premaster secret),然后使用數字證書中的公鑰,加密這個隨機數,發給鮑勃。

第四步:鮑勃使用自己的私鑰,獲取愛麗絲發來的隨機數(即Premaster secret);(第三、四步就是非對稱加密的過程了)

第五步:愛麗絲和鮑勃通過約定的加密方法(通常是AES算法),使用前面三個隨機數,生成對話密鑰,用來加密接下來的通信內容;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM