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

来源:https://www.cnblogs.com/pythonywy/archive/2019/11/17/11878292.html
-Advertisement-
Play Games

Socket與WebSocket以及http與https重新總結 一.Socket 網路中的Socket是一個 ,而是為了方便使用 或`UDP`而抽象出來的一層 ,可以理解為網路中連接的兩端。通常被叫做套接字介面. 二.WebSocket WebSocket就是其中一種,是為了創建一種雙向通信(全雙 ...


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演算法),使用前面三個隨機數,生成對話密鑰,用來加密接下來的通信內容;


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 背景 NPE問題,100%的Java程式員都碰到,並且曾經是心中的痛。 1965年英國TonyHoare引入了Null引用,後續的設計語言包括Java都保持了這種設計。 一個例子 業務模型 Person 有車一族, 有Car欄位, Car 車,每個車都有購買保險, 有Insurance欄位; Ins ...
  • 採集的站點: 免費代理IP http://ip.yqie.com/ipproxy.htm66免費代理網 http://www.66ip.cn/89免費代理 http://www.89ip.cn/無憂代理 http://www.data5u.com/雲代理 http://www.ip3366.net/ ...
  • 場景 在IDEA中新建SpringBoot項目,後啟動項目時提示: Error:(3, 32) java: 程式包org.springframework.boot不存在 實現 將pom.xml中parent依賴版本降低,這裡改為2.1.6,然後在右邊Maven面板中點擊Reimport All Ma ...
  • Java生鮮電商平臺-高可用微服務系統如何設計? 說明:Java生鮮電商平臺高可用架構往往有以下的要求: 高可用。這類的系統往往需要保持一定的 SLA,7*24 時不間斷運行不代表完全不掛,而是有一定的百分比的。 例如我們常說的可用性需達到 4 個 9(99.99%),全年停機總計不能超過 1 小時 ...
  • 新聞 "使用Pulumi和.NET Core創建現代雲應用" "宣告.NET Core 3.1預覽版3" "ML.NET模型構建器升級" ".NET Framework修複工具" "Mac上的Visual Studio:使用鍵綁定控制你的IDE" "Sojobo——二進位分析框架" 視頻及幻燈片 " ...
  • 在分析jdk1.8的HashMap實現原理之前,咱們先可以瞭解一下紅黑樹的設計,相比jdk1.7的HashMap而言,jdk1.8最重要的就是引入了紅黑樹的設計,當衝突的鏈表長度超過8個的時候,鏈表結構就會轉為紅黑樹結構。 ...
  • 場景 IDEA版本過低的話會導致某些IDEA插件沒法安裝,比如Lombok插件和EasyCode插件等。 實現 雙擊exe安裝包 點擊Next 選擇安裝路徑,點擊Next 設置桌面快捷方式,增加到右鍵菜單,添加文件關聯和添加到環境變數,點擊Next 預設並點擊Install 等待安裝完成 選擇稍後重 ...
  • 題目大意: 給一個開始單詞beginword和一個結束單詞endword, 再給一個單詞列表wordList。從beginword變換到endword, 每次只能變換一個字母,且變換成的詞屬於wordList。 解決思路: 其實是個變相的BFS,尋找當前集合中相鄰的可以進行變換的單詞,更新當前集合, ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...