【2025計算機網絡-面試常問】http和https區別是什么,http的內容有哪些,https用的是對稱加密還是非對稱加密,流程是怎么樣的

HTTP與HTTPS全面對比及HTTPS加密流程詳解

一、HTTP與HTTPS核心區別

特性HTTPHTTPS
協議基礎明文傳輸HTTP + SSL/TLS加密層
默認端口80443
加密方式無加密混合加密(非對稱+對稱)
證書要求不需要需要CA頒發的數字證書
安全性易被竊聽、篡改、冒充防竊聽、防篡改、身份認證
性能開銷無加密開銷增加10-20%的CPU消耗
SEO影響無特殊優勢搜索引擎排名加權

二、HTTP協議內容組成

1. 請求報文結構

GET /index.html HTTP/1.1\r\n
Host: www.example.com\r\n
User-Agent: Mozilla/5.0\r\n
Accept: text/html\r\n
\r\n
[請求體]

  • 請求行:方法(GET/POST等) + URI + 協議版本

  • 請求頭

    • 通用頭:Cache-Control、Connection

    • 請求頭:Accept、Authorization

    • 實體頭:Content-Type、Content-Length

  • 空行:\r\n

  • 請求體:POST/PUT等方法攜帶的數據

2. 響應報文結構

HTTP/1.1 200 OK\r\n
Content-Type: text/html\r\n
Content-Length: 1234\r\n
\r\n
<!DOCTYPE html>...
  • 狀態行:協議版本 + 狀態碼 + 狀態描述

  • 響應頭

    • 通用頭:Date、Server

    • 響應頭:Location、Set-Cookie

    • 實體頭:同上

  • 空行:\r\n

  • 響應體:實際返回內容

3. 主要方法

方法作用冪等性
GET獲取資源
POST提交數據
PUT替換資源
DELETE刪除資源
HEAD獲取報文首部

三、HTTPS加密機制詳解(結合了對稱加密和非對稱加密)

1. 加密類型組合

  • 非對稱加密(用于密鑰交換)

    • 算法:RSA、ECDHE

    • 作用:安全傳輸對稱加密的密鑰

  • 對稱加密(用于數據傳輸)

    • 算法:AES、ChaCha20

    • 作用:加密實際通信內容

2. HTTPS完整流程(TLS 1.2)

現代TLS 1.3優化

TLS 1.3(2018年發布)做了重大改進:

  1. 1-RTT握手:默認支持前向安全的ECDHE

  2. 0-RTT模式:對近期連接過的服務器可立即發送加密數據

  3. 簡化密碼套件:移除不安全的算法(如RSA密鑰交換)

  4. 加密證書:服務器證書在加密擴展中發送

3. 密鑰交換兩種方式

(1) RSA密鑰交換

(2) ECDHE密鑰交換(前向安全)

密鑰交換算法對比

特性RSA密鑰交換ECDHE密鑰交換
前向安全性
密鑰生成開銷服務器低雙方都需要計算
主流支持TLS 1.2及以下TLS 1.2/1.3首選
密鑰材料靜態服務器密鑰臨時密鑰對

4. 會話密鑰生成

雙方使用以下參數生成相同的會話密鑰:

  • Client Random

  • Server Random

  • Premaster Secret
    通過PRF(偽隨機函數)生成:

python代碼

master\_secret = PRF(pre\_master\_secret + ClientRandom + ServerRandom)
key\_block = PRF(master\_secret + "key expansion" + ServerRandom + ClientRandom)

四、HTTPS安全增強機制

1. 證書驗證流程

  1. 檢查證書鏈完整性

  2. 驗證有效期

  3. 檢查域名匹配

  4. 吊銷狀態檢查:

    • CRL(證書吊銷列表)

    • OCSP(在線證書狀態協議)

    • OCSP Stapling(服務器提供響應)

2. TLS 1.3主要改進

  • 1-RTT握手:簡化握手流程

  • 0-RTT模式:對近期連接可立即發送數據

  • 移除不安全算法:僅保留前向安全加密套件

  • 加密證書傳輸:增強隱私保護

五、性能優化建議

  1. 會話恢復

    • Session ID緩存

    • Session Ticket機制

  2. 證書優化

    • 使用ECDSA證書

    • 選擇更短的證書鏈

  3. 協議優化

    • 啟用HTTP/2 over HTTPS

    • 開啟TLS False Start

  4. 硬件加速

    • AES-NI指令集

    • 專用SSL加速卡

HTTPS通過巧妙的混合加密機制,既解決了對稱加密的密鑰分發問題,又避免了非對稱加密的性能瓶頸,是現代Web安全的基石。理解其工作原理有助于開發者更好地調試和優化Web應用。

六:關于https證書申請:

? ? 以下是一些常用的https證書申請,需要花錢,具體流程可以去具體的網站看,有詳細的流程,不一一贅述了。同時需要注意使用https時可能需要更改nginx相關代碼。

  1. 阿里云

  2. 騰訊云

  3. certbot

  4. acme.sh

  5. freessl.cn

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

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

相關文章

JavaFX 第一篇 Hello World

1、簡介 JavaFX 是一個用于構建客戶端應用程序的 Java 庫&#xff0c;作為 Java 標準庫的一部分&#xff08;JDK 8 到 10&#xff09;&#xff0c;從 JDK 11 開始&#xff0c;JavaFX 將以獨立模塊發布&#xff0c;將不再包含在 JDK標準庫中&#xff0c;他是 Java 應用程序開發的…

SQL實戰:02之連續數問題求解

文章目錄 概述題目:體育館的人流量題解步驟一&#xff1a;構造出一個連續序列步驟二&#xff1a;找出符合條件的組的序號步驟三&#xff1a;fetch結果&#xff0c;使用內連接過濾出符合條件的記錄。完整SQL 題目二&#xff1a;連續出現的數字題解步驟一&#xff1a;分區并構建連…

STM32 的 GPIO和中斷

GPIO的簡單介紹 內部結構 施密特觸發器&#xff08;TTL肖特基觸發器&#xff09; 的工作原理&#xff1a; 施密特觸發電路&#xff08;簡稱&#xff09;是一種波形整形電路&#xff0c;當任何波形的信號進入電路時&#xff0c;輸出在正、負飽和之間跳動&#xff0c;產生方波或…

Server - 優雅的配置服務器 Bash 環境(.bashrc)

歡迎關注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/147335592 免責聲明&#xff1a;本文來源于個人知識與公開資料&#xff0c;僅用于學術交流&#xff0c;歡迎討論&#xff0c;不支持轉載。 登錄服…

使用PyTorch實現圖像增廣與模型訓練實戰

本文通過完整代碼示例演示如何利用PyTorch和torchvision實現常用圖像增廣方法&#xff0c;并在CIFAR-10數據集上訓練ResNet-18模型。我們將從基礎圖像變換到復雜數據增強策略逐步講解&#xff0c;最終實現一個完整的訓練流程。 一、圖像增廣基礎操作 1.1 準備工作 #matplotli…

解決Mac 安裝 PyICU 依賴失敗

失敗日志&#xff1a; 解決辦法 1、使用 homebrew 安裝相關依賴 brew install icu4c 安裝完成后&#xff0c;設置環境變量 echo export PATH"/opt/homebrew/opt/icu4c77/bin:$PATH" >> ~/.zshrcecho export PATH"/opt/homebrew/opt/icu4c77/sbin:$PATH…

Springboot后端查詢參數接收

1.實現方式 假設前端發送的接口&#xff1a; /users?nameJohn&age30 后端怎么接收里面的name和age呢&#xff1f;以及再發別的參數后端怎么接收呢&#xff1f; 1.比較簡單的方式 當控制器方法的參數類型是簡單類型&#xff08;如 String、Integer、Long 等&#xff09…

桌面應用中VUE使用新瀏覽器窗口打開頁面

1、瀏覽器應用忽略此方式&#xff0c;可任意方式打開。針對桌面應用設置 newWindowClick(){try {this.fileUrl "";this.params.year ""this.params.date ""axios({method: post,url: /url/pdf/preview,data: this.params,}).then(res> {t…

華為手機怎么進行音頻降噪?音頻降噪技巧分享:提升聽覺體驗

在當今數字化時代&#xff0c;音頻質量對于提升用戶體驗至關重要&#xff0c;無論是在通話、視頻錄制還是音頻文件播放中&#xff0c;清晰的音頻都能帶來更佳的聽覺享受。 而華為手機憑借其強大的音頻處理技術&#xff0c;為用戶提供了多種音頻降噪功能&#xff0c;幫助用戶在…

【數據可視化-22】脫發因素探索的可視化分析

?? 博主簡介:曾任某智慧城市類企業算法總監,目前在美國市場的物流公司從事高級算法工程師一職,深耕人工智能領域,精通python數據挖掘、可視化、機器學習等,發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN人工智能領域的優質創作者,提供AI相關的技術咨詢、項目開發和個…

青少年編程與數學 02-018 C++數據結構與算法 06課題、樹

青少年編程與數學 02-018 C數據結構與算法 06課題、樹 一、樹(Tree)1. 樹的定義2. 樹的基本術語3. 常見的樹類型4. 樹的主要操作5. 樹的應用 二、二叉樹(Binary Tree)1. 二叉樹的定義2. 二叉樹的基本術語3. 二叉樹的常見類型4. 二叉樹的主要操作5. 二叉樹的實現代碼說明輸出示例…

【論文閱讀】Visual Instruction Tuning

文章目錄 導言1、論文簡介2、論文主要方法3、論文針對的問題4、論文創新點總結 導言 本論文介紹了一個新興的多模態模型——LLaVA&#xff08;Large Language and Vision Assistant&#xff09;&#xff0c;旨在通過指令調優提升大型語言模型&#xff08;LLM&#xff09;在視覺…

【學習筆記】Cadence電子設計全流程(三)Capture CIS 原理圖繪制(下)

【學習筆記】Cadence電子設計全流程&#xff08;三&#xff09;Capture CIS 原理圖繪制&#xff08;下&#xff09; 3.16 原理圖中元件的編輯與更新3.17 原理圖元件跳轉與查找3.18 原理圖常見錯誤設置于編譯檢查3.19 低版本原理圖文件輸出3.20 原理圖文件的鎖定與解鎖3.21 Orca…

js使用IntersectionObserver實現目標元素可見度的交互

文章目錄 1、前言2、代碼實現3、使用場景4、兼容性5、成熟的Hooks推薦 1、前言 IntersectionObserver 是瀏覽器原生提供的一個Api。可以"觀察"我們的元素是否可見&#xff0c;原理是判斷目標元素與可見區域的交叉比例&#xff0c;所以也被稱為"交叉觀察器"…

linux 中斷子系統 層級中斷編程

虛擬中斷控制器代碼&#xff1a; #include<linux/kernel.h> #include<linux/module.h> #include<linux/clk.h> #include<linux/err.h> #include<linux/init.h> #include<linux/interrupt.h> #include<linux/io.h> #include<linu…

蝦皮(Shopee)商品詳情 API 接口概述及 JSON 數據返回參考

前言 一、接口概述 Shopee 商品詳情 API 接口是 Shopee 平臺為開發者提供的&#xff0c;用于獲取商品詳細信息的接口服務。通過該接口&#xff0c;開發者可以獲取商品的標題、價格、庫存、描述、圖片、規格參數、銷量、評價等詳細信息。這些數據為電商數據分析、商品比價工具…

three.js中的instancedMesh類優化渲染多個同網格材質的模型

three.js小白的學習之路。 在上上一篇博客中&#xff0c;簡單驗證了一下three.js中的網格共享。寫的時候就有一些想法&#xff0c;如果說某個場景中有一萬棵樹&#xff0c;這些樹共享一個geometry和material&#xff0c;有沒有好的辦法將其進行一定程度上的渲染優化&#xff0…

MySQL-自定義函數

自定義函數 函數的作用 mysql數據庫中已經提供了內置的函數&#xff0c;比如&#xff1a;sum&#xff0c;avg&#xff0c;concat等等&#xff0c;方便我們日常的使用&#xff0c;當需要時mysql支持定義自定義的函數&#xff0c;方便與我們對于需用復用的功能進行封裝。 基本…

ESP32上C語言實現JSON對象的創建和解析

在ESP32上使用C語言實現JSON對象的創建和解析&#xff0c;同樣可以借助cJSON庫。ESP-IDF&#xff08;Espressif IoT Development Framework&#xff09;本身已經集成了cJSON庫&#xff0c;你可以直接使用。以下是詳細的步驟和示例代碼。 1. 創建一個新的ESP-IDF項目 首先&…

【FAQ】PCoIP 會話后物理工作站本地顯示器黑屏

# 問題 工作人員從家里建立了到辦公室工作站的 PCoIP 連接&#xff0c;該工作站安裝了 HP Anyware Graphics Agent&#xff0c;并且還連接了本地顯示器。然后&#xff0c;遠程用戶決定去辦公室進行本地工作&#xff0c;工作站顯示器顯示黑屏&#xff08;有時沒有信號&#xff…