https與DNS的運行流程

?HTTPS流程:

HTTPS核心:加了TLS層,加密傳輸+身份認證

TLS:信息加密、校驗機制、身份證書

????????TLS(Transport Layer Security)握手是建立安全通信通道的關鍵過程,發生在客戶端(如瀏覽器)和服務器之間。其主要目標是協商加密參數、驗證身份(通常是服務器)并生成共享密鑰,以實現后續通信的機密性和完整性。

1、Client Hello (客戶端問候):

  • 客戶端向服務器發起連接。
  • 發送支持的 TLS 版本列表。
  • 發送一個客戶端生成的隨機數。

2、Server Hello (服務器問候):

  • 服務器從客戶端支持的列表中選擇:
  • 一個雙方都支持的?TLS 版本。
  • 一個雙方都支持的密碼套件。
  • 服務器生成一個隨機數并發送給客戶端。

3、服務器證書:

  • 服務器發送其數字證書給客戶端。
  • 該證書包含服務器的公鑰、身份信息(域名等),并由受信任的證書頒發機構簽名。

4、服務器密鑰交換:

  • 此消息通常包含一個簽名(用服務器證書對應的私鑰生成),證明服務器擁有該證書的私鑰并控制了該公鑰。

5、服務器問候結束:

  • 服務器表示其初始握手消息已發送完畢。

6、客戶端密鑰交換:

客戶端驗證服務器證書:

  • 檢查證書是否由受信任的 CA 簽發且在有效期內。
  • 檢查證書中的域名是否與正在訪問的域名匹配。
  • 驗證證書鏈的完整性。

如果服務器發送了密鑰交換參數:

  • 客戶端將這部分參數發送給服務器。
  • 此時,客戶端和服務器都擁有了對方提供的密鑰交換參數和自己生成的私密參數。

7、客戶端完成:

  • 客戶端計算并發送一個加密的完成消息。
  • 這是客戶端首次發送的加密消息,用于驗證握手過程的完整性以及密鑰是否正確協商。

8、服務器完成:

  • 服務器計算并發送一個加密的完成消息。
  • 使用協商好的密鑰和算法進行加密。
  • 客戶端驗證此消息。

客戶端和服務器現在可以開始使用協商好的對稱加密密鑰(主密鑰派生的會話密鑰)和算法安全地傳輸應用層數據(如 HTTP 請求和響應)。所有后續通信都被加密和完整性保護。

DNS傳輸流程:

Linux下:nslookup和dig
Windows下:nslookup

?

  1. 檢查本地DNS緩存:?操作系統首先查詢本機的DNS緩存記錄。如果找到該域名對應的IP地址,則解析完成。

  2. 檢查hosts文件:?若本地緩存未命中,則查詢操作系統的hosts文件(Linux通常位于/etc/hosts,Windows位于C:\Windows\System32\drivers\etc\hosts)。如果該文件包含域名與IP的映射關系,則直接使用該IP地址完成解析。

  3. 查詢本地DNS服務器:?若hosts文件也未提供解析,操作系統將查詢請求發送至網絡配置中指定的本地DNS服務器(通常由ISP或網絡管理員提供)。如果本地DNS服務器緩存中有此記錄,則返回結果,解析結束。

  4. 查詢根DNS服務器:?若本地DNS服務器無緩存記錄,它則向根DNS服務器發起查詢請求。

  5. 獲取頂級域名服務器地址:?根DNS服務器根據域名后綴(如.com,?.cn,?.org等)返回負責該頂級域名的頂級DNS服務器地址(全球根DNS服務器數量有限,約13組)。

  6. 查詢頂級域名服務器:?本地DNS服務器隨后向接收到的頂級DNS服務器地址發送查詢請求。

  7. 獲取權威域名服務器地址:?頂級DNS服務器查找并返回負責該具體域名的權威域名服務器(Name Server)的地址。

  8. 查詢權威域名服務器:?本地DNS服務器接著向權威域名服務器發送查詢請求。

  9. 獲取解析結果并緩存:?權威域名服務器返回該域名最終的正確IP地址給本地DNS服務器。本地DNS服務器收到后,會緩存此域名與IP的映射關系,緩存時長由記錄的TTL(生存時間)值決定。

  10. 返回結果給客戶端并緩存:?本地DNS服務器將解析得到的IP地址返回給用戶計算機。用戶計算機同樣會根據記錄的TTL值,將該結果緩存在本地系統DNS緩存中。

  11. 建立連接訪問目標:?用戶計算機獲得目標網站(如百度)的IP地址后,需要與該IP地址對應的服務器建立TCP連接(三次握手)。握手成功后,才能發送訪問請求。目標服務器處理請求并返回響應后,用戶才能訪問該網站。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/89589.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89589.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89589.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

板子 5.29--7.19

板子 5.29–7.19 目錄 1. 樹狀數組 2. KMP 3. 矩陣快速冪 4. 數位DP 5. 狀壓枚舉子集 6. 快速冪(新版 7. priority_queue 8. dijkstra 9. 單調棧 10. debug內容 1. 樹狀數組 // 樹狀數組 快速求前綴和 / 前綴最大值 // 維護位置數量(離散化)...// (區間加 區間求和…

min-max容斥學習筆記

最近報了航電的春季賽,在一道題目里面遇到了做法,感覺挺有意思。 考慮一個(多重)集合S{ai}S\{a_i\}S{ai?},有如下的等式成立 min?ai∈S(ai)∑T?S,T≠?(?1)∣T∣?1max?ai∈T(ai)\min_{a_i\in S}(a_i)\sum_{T\sub…

使用帆軟制作項目

https://zhuanlan.zhihu.com/p/23429318335 項目背景 為加快大數據體系建設,穩步推進數字化轉型戰略,規范數據架構體系和數據治理體系,運用大數據推進全行數字化轉型建設,為業務發展提供創新動力,目標是利用金融科技和…

論C/C++的條件編譯#if、#ifdef、#ifndef、#undef

我們以實例來演示: ------------------------------------------實驗①------------------------------------------ 子函數:主函數:當定義了COMMENT_FLAG該宏,且其為0,則運行結果如下:只執行了sub_func_1函…

21、鴻蒙Harmony Next開發:組件導航(Navigation)

目錄 設置頁面顯示模式 設置標題欄模式 設置菜單欄 設置工具欄 路由操作 頁面跳轉 頁面返回 頁面替換 頁面刪除 移動頁面 參數獲取 路由攔截 單例跳轉 子頁面 頁面顯示類型 頁面生命周期 頁面監聽和查詢 頁面轉場 關閉轉場 自定義轉場 共享元素轉場 跨包…

“外賣大戰”正在改變國內“大零售”

出品 | 何璽排版 | 葉媛7月18日,市場監管總局約談美團、餓了么、京東三家外賣平臺,要求“理性競爭、規范促銷”,劍指近期愈演愈烈的“0元購”“0.1秒殺”等外賣補貼亂象。但約談之后,平臺們是真整改,還是玩話術&#x…

當CAN握手EtherCAT:視覺檢測系統的“雙芯合璧”時代來了

在汽車制造的高速生產線上,設備間的“語言不通”曾是工程師們的頭疼事:CAN總線像踏實的老司機,穩扎穩打傳輸傳感器數據;而EtherCAT網關則是追求極致速度的“閃電俠”,主導著實時控制的重任。當視覺檢測系統需要同時對接…

【C語言】動態內存管理全解析:malloc、calloc、realloc與free的正確使用

C語言學習 動態內存分配 友情鏈接:C語言專欄 文章目錄C語言學習前言:一、為什么要有動態內存分配二、malloc和free2.1 malloc2.2 free三、calloc和realloc3.1 calloc3.2 realloc總結附錄上文鏈接下文鏈接專欄前言: 在C語言編程中&#xff0…

基于Arduino智能家居環境監測系統—以光照強度檢測修改

2 相關技術與理論 2.1 Arduino 技術 Arduino 是一款廣受歡迎的開源電子原型平臺,由硬件和軟件組成,為開發者提供了便捷且低成本的解決方案,尤其適用于快速搭建交互式電子項目,在本智能家居環境監測系統中擔當核心角色。? 硬件方…

前端上傳 pdf 文件 ,前端自己解析出來 生成界面 然后支持編輯

要在前端解析 PDF 文件并生成可編輯界面,我們可以使用 PDF.js 庫來解析 PDF 內容,然后將其轉換為可編輯的 HTML 元素。 主要特點和工作原理如下: PDF 解析: 使用 Mozilla 的 PDF.js 庫解析 PDF 文件內容,提取文本信息。…

Linux“一切皆文件“設計哲學 與 Linux文件抽象層:struct file與file_operations的架構解析

在Linux系統中,“一切皆文件”(Everything is a file)是一個核心設計哲學,它抽象了系統資源的訪問方式,使得幾乎所有硬件設備、進程、網絡連接等都可以通過統一的文件接口(如open()、read()、write()、clos…

藍橋杯零基礎到獲獎-第3章 C++ 變量和常量

藍橋杯零基礎到獲獎-第3章 C 變量和常量 文章目錄一、變量和常量1.變量的創建2.變量初始化3.變量的分類4.常量4.1 字?常量4.2 #define定義常量4.3 const 定義常量4.4 練習練習1:買票https://www.nowcoder.com/practice/0ad8f1c0d7b84c6d8c560298f91d5e66練習2&…

物理AI是什么技術?

當英偉達CEO黃仁勛在鏈博會上明確提出“物理AI將是AI的下一浪潮”時,這個看似陌生的概念瞬間引發了科技圈的廣泛關注。究竟什么是物理AI?它與我們熟悉的人工智能有何不同?又將如何重塑我們與物理世界的交互方式? 物理AI&#xff1…

GRIB數據處理相關指令

GRIB 數據格式簡介 GRIB(General Regularly distributed Information in Binary form),是由世界氣象組織(WMO)設計和維護的一種用于存儲和傳輸網格數據的標準數據格式,它是一種自描述的二進制壓縮格式,通常具有擴展名…

微服務學習(六)之分布式事務

微服務學習(六)之分布式事務一、認識Seata二、部署TC服務1、準備數據庫表2、準備配置文件3、docker部署三、微服務集成seata1、引入依賴2、改造配置3、添加數據庫表4、測試四、XA模式1、兩階段提交2、seata的XA模型3、優缺點4、實現步驟五、AT模式1、Sea…

Go實現用戶登錄小程序

寫一個用戶登錄注冊的小程序 運行程序,給出提示1. 注冊輸入用戶名、密碼、年齡、性別 {"用戶名": "root", "passwd": "123456", "age": 18, "sex": "男"}注冊前要判斷是否存在此用戶2. 登錄…

鴻蒙藍牙通信

https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-bluetooth-low-energy 藍牙權限 module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.ACCESS_BLUETOOTH","reason": "…

Java:Map

文章目錄Map常用方法Map遍歷的三種方法先獲取Map集合的全部鍵,再通過遍歷來找值Entry對象forEach結合lambda表達式Map 案例分析需求我的代碼(不好)老師的代碼(好)好在哪里另外集合分為Collection和MapMap常用方法 代碼…

fastjson2 下劃線字段轉駝峰對象

在對接第三方或查詢數據庫時,返回的字段是下劃線分隔的,而在業務中需要轉成java對象,java對象的字段是駝峰的,使用fastjson2時,有兩種方法可以實現: 比如數據格式是: {"item_id": &q…

【硬件】藍牙音頻協議

1. 無線音頻傳輸的工作原理 在無線傳輸的過程中,音源設備首先將MP3、FLAC等音頻文件還原為PCM格式。通過藍牙音頻編碼轉為藍牙無線傳輸的文件,發送到音頻設備段。將藍牙無線傳輸的文件再次還原為PCM格式,之后轉為模擬信號并放大,通…