【網絡】HTTP協議、HTTPS協議

HTTP與HTTPS

HTTP協議概述
  • HTTP(超文本傳輸協議):工作在OSI頂層應用層,用于客戶端(瀏覽器)與服務器之間的通信,B/S模式
    • 無狀態:每次請求獨立,服務器不保存客戶端狀態(通過Cookie/Session擴展狀態管理)。
    • 基于TCP:默認端口80(HTTP)、443(HTTPS),保證可靠傳輸。
    • 請求-響應模型:客戶端發起請求,服務器返回響應。
HTTP協議工作方式
  1. 建立TCP連接:客戶端與服務器通過三次握手建立TCP連接。
  2. 發送HTTP請求:客戶端構造HTTP請求報文并發送。
  3. 服務器處理請求:服務器解析請求,執行邏輯,生成響應。
  4. 返回HTTP響應:服務器構造響應報文并返回。
  5. 關閉TCP連接:默認HTTP/1.1使用持久連接(Connection: keep-alive),可復用連接。
    在這里插入圖片描述
HTTP報文格式
  • HTTP報文分為請求報文應答報文,均由起始行首部字段空行實體主體(可選)組成

  • HTTP request

    GET /index.html HTTP/1.1		//起始行:方法+URL+協議版本
    Host: www.example.com			//首部字段:客戶端、請求參數
    User-Agent: Mozilla/5.0
    Content-Type: application/x-www-form-urlencodedusername=admin&password=123		//實體主體:get、post等方法攜帶的參數
    
  • HTTP response

    HTTP/1.1 200 OK				//起始行:協議版本+狀態碼
    Content-Type: text/html		//首部字段:服務器信息、響應參數等
    Content-Length: 1234
    Set-Cookie: sessionid=abc123<html>...</html>			//實體主體:返回的數據HTML/json等
    
HTTP請求方法(函數體)
  • get(安全,冪等,url可見):獲取資源
  • post(不安全,不冪等):提交數據,參數在請求體中(表單)
  • put(冪等,不安全):更新資源
  • delete(冪等,不安全):刪除資源
    在這里插入圖片描述
HTTP狀態碼
  1. 1XX:信息類狀態碼,100繼續發送請求體
  2. 2XX:成功狀態碼,200請求成功
  3. 3XX:重定向狀態碼,301/302資源永久重定向
  4. 4XX:客戶端錯誤,401未授權須身份驗證;403服務器拒絕請求(權限不足);404資源不存在(隱藏資源),
  5. 5XX:服務器錯誤,500服務器內部錯誤
HTTP歷史演變
  1. HTTP/1.1:支持持久連接,管道化
  2. HTTP/2.0:二進制分幀,多路復用,首部壓縮
  3. HTTP/3.0:基于UDP的QUIC協議,減少延遲
HTTPS(安全通信)
  1. HTTPS通信特性:
    • 數據機密性:防止數據傳輸過程中被竊聽
    • 數據完整性:防止數據在傳輸過程中被篡改
    • 身份驗證:確認服務器(及客戶端)身份真實性,避免中間人攻擊,依賴數字證書和CA(證書頒發機構)
    • 不可否認性:通過數字簽名實現行為可回溯
  2. 對稱加密與非對稱加密:
    1. 對稱加密(如AES、ChaCha20)
      • 特點:加密與解密使用同一密鑰,速度快,適合大數據傳輸。
      • 問題:密鑰分發需安全通道,否則可能被截獲。
    2. 非對稱加密(如RSA、ECC)
      • 特點:公鑰加密、私鑰解密,解決密鑰分發問題,但速度慢(比對稱加密慢1000倍以上)。
      • 用途:主要用于交換對稱密鑰或數字簽名。
  3. HTTP優缺點:
    • 優點:數據加密,防竊聽與篡改;支持HTTP/2、HTTP/3現代協議,提升網站性能
    • 缺點:需購買和維護SSL/TLS證書;解密加密消耗額外CPU資源;握手延遲增加(可通過TLS 1.3優化)
  4. HTTP與HTTPS
  5. TLS 1.3握手過程
    1. ClientHello(客戶端問候)
      • 發送支持的 TLS 版本
      • 列出加密套件(如 ECDHE-RSA-AES256-GCM-SHA384)
      • 生成隨機數(Client Random)
    2. ServerHello(服務器響應)
      • 選擇 TLS 版本和加密套件
      • 發送服務器證書(含公鑰)
      • 生成隨機數(Server Random)
    3. 密鑰交換
      • 客戶端使用服務器公鑰加密 “預主密鑰”
      • 雙方通過 Client Random + Server Random + 預主密鑰生成對稱會話密鑰
    4. 身份驗證
      • 客戶端驗證證書有效性(檢查 CA 簽名、有效期、CN 是否匹配)
      • 服務器驗證客戶端證書(可選雙向認證)
    5. 加密通信
      • 使用對稱密鑰加密后續數據
      • 通過 HMAC 保證數據完整性

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

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

相關文章

Jmeter使用介紹

文章目錄 前言Jmeter簡介安裝與配置JDK安裝與配置JMeter安裝與配置 打開JMeter方式一方式二 設置Jmeter語言為中文方法一&#xff08;僅一次性&#xff09;方法二(永久設置成中文) Jmeter文件常用目錄 元件與組件元件組件元件的作用域元件的執行順序第一個案例添加線程組添加 H…

【NLP 32、文本匹配任務 —— 深度學習】

大劫大難以后&#xff0c;人不該失去銳氣&#xff0c;不該失去熱度&#xff0c;你鎮定了卻依舊燃燒&#xff0c;你平靜了卻依舊浩蕩&#xff0c;致那個從絕望中走出來的自己&#xff0c;共勉 —— 25.1.31 使用深度學習在文本匹配任務上主要有兩種方式&#xff1a;① 表示型 ②…

發展史 | 深度學習 / 云計算

注&#xff1a;本文為來自 csdn 不錯的“深度學習 / 云計算發展史 ” 相關文章合輯。 對原文&#xff0c;略作重排。 深度學習發展史&#xff08;1943-2024 編年體&#xff09;&#xff08;The History of Deep Learning&#xff09; Hefin_H 已于 2024-05-23 15:54:45 修改 …

通領科技沖刺北交所

高質量增長奔赴產業新征程 日前&#xff0c;通領科技已正式啟動在北交所的 IPO 進程&#xff0c;期望借助資本市場的力量&#xff0c;加速技術升級&#xff0c;推動全球化戰略布局。這一舉措不僅展現了中國汽車零部件企業的強大實力&#xff0c;也預示著行業轉型升級的新突破。…

TCP/IP 5層協議簇:網絡層(ICMP協議)

1. TCP/IP 5層協議簇 如下&#xff1a; 和ip協議有關的才有ip頭 2. ICMP 協議 ICMP協議沒有端口號&#xff0c;因為不去上層&#xff0c;上層協議采用端口號

RISC-V匯編學習(三)—— RV指令集

有了前兩節對于RISC-V匯編、寄存器、匯編語法等的認識&#xff0c;本節開始介紹RISC-V指令集和偽指令。 前面說了RISC-V的模塊化特點&#xff0c;是以RV32I為作為ISA的核心模塊&#xff0c;其他都是要基于此為基礎&#xff0c;可以這樣認為&#xff1a;RISC-V ISA 基本整數指…

C語言 —— 愿此世如黃金般輝煌 - 進制轉換與操作符詳解

目錄 1. 操作符的分類 2. ?進制和進制轉換 2.1 2進制轉10進制 2.2 10進制轉2進制 2.3 2進制轉8進制 2.4 2進制轉16進制 3. 原碼、反碼、補碼 4. 移位操作符 4.1 左移操作符 4.2 右移操作符 5. 位操作符&#xff1a;&、|、^、~ 5.1 & 按位與 5.2 | 按位或 …

docker1

前言 技術架構 單機架構 應用數據分離架構 應用服務集群架構 讀寫分離/主從分離架構 寫入主的時候&#xff0c;要同步Mysql從的數據才可以 冷熱分離架構 寫的時候要寫入主和緩存數據庫 讀的時候先去緩存看有沒有&#xff0c;沒有的話就去從數據庫讀數據 主要就是看這個數據是…

Spring Boot整合ArangoDB教程

精心整理了最新的面試資料和簡歷模板&#xff0c;有需要的可以自行獲取 點擊前往百度網盤獲取 點擊前往夸克網盤獲取 一、環境準備 JDK 17Maven 3.8Spring Boot 3.2ArangoDB 3.11&#xff08;本地安裝或Docker運行&#xff09; Docker啟動ArangoDB docker run -d --name ar…

從離散迭代到連續 常微分方程(Ordinary Differential Equation, ODE):梯度流

從離散迭代到連續 ODE&#xff1a;梯度下降與梯度流的奇妙聯系 在機器學習和優化領域&#xff0c;我們常常使用離散的迭代算法&#xff08;如梯度下降&#xff09;來求解目標函數的最優解。然而&#xff0c;你是否想過這些離散步驟背后可能隱藏著連續的動態&#xff1f;常微分…

常見的 Git 命令

基礎配置和信息查詢 (Setup and Information) git config --global user.name “Your Name”: 配置全局用戶名&#xff0c;用于 Git 提交記錄。 git config --global user.email “your.emailexample.com”: 配置全局用戶郵箱&#xff0c;同樣用于 Git 提交記錄。 git confi…

深度解析:視頻軟編碼與硬編碼的優劣對比

視頻編碼 一、基本原理與核心技術 壓縮原理 通過時空冗余消除實現數據壓縮&#xff1a; 空間冗余&#xff1a;利用幀內預測&#xff08;如DC/角度預測&#xff09;消除單幀內相鄰像素相似性。時間冗余&#xff1a;運動估計與補償技術&#xff08;ME/MC&#xff09;減少連續幀間…

藍耘智算 + 通義萬相 2.1:為 AIGC 裝上 “智能翅膀”,翱翔創作新天空

1. 引言&#xff1a;AIGC 的崛起與挑戰 在過去幾年中&#xff0c;人工智能生成內容&#xff08;AIGC&#xff09;技術突飛猛進。AIGC 涉及了文本生成、圖像創作、音樂創作、視頻制作等多個領域&#xff0c;并逐漸滲透到日常生活的方方面面。傳統的內容創作方式已經被許多人類創…

行為模式---中介者模式

概念 中介者模式是一種行為模式&#xff0c; 他的核心思想是通過引入一個中介者對象&#xff0c;將多個對象之間的復雜交互邏輯統一管理。每個對象只需要與中介者通信&#xff0c;而不需要直接與其他對象交互&#xff0c;從而降低系統的耦合度。 適用場景 對象之間交互復雜&…

百度移動生態事業群聚焦UGC戰略,貼吧迎新調整

易采游戲網3月8日獨家消息&#xff1a;近日據內部消息人士透露&#xff0c;百度移動生態事業群正積極將用戶生成內容&#xff08;UGC&#xff09;作為新的戰略重點。此舉標志著百度對UGC價值的重視與重塑&#xff0c;同時也預示著其旗下重要平臺——百度貼吧將迎來一輪重大的調…

C#模擬鼠標點擊,模擬鼠標雙擊,模擬鼠標恒定速度移動,可以看到軌跡

C#模擬鼠標點擊&#xff0c;模擬鼠標雙擊&#xff0c;模擬鼠標恒定速度移動&#xff0c;可以看到軌跡 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks;namespa…

QGIS提取全國景區經緯度的完整流程

一、數據獲取與預處理 數據來源選擇 全國A級景區數據可從各省文化和旅游廳官網、國家文化和旅游部網站或第三方GIS數據平臺獲取。推薦使用2020-2021年更新的矢量數據&#xff08;shp格式&#xff09;或Excel表格&#xff0c;其中包含景區名稱、地址、等級及WGS84經緯度信息。例…

如何進行postgreSQL專家認證

進行 PostgreSQL 專家認證主要有信創 PostgreSQL 認證和中國 PostgreSQL 考試認證等方式&#xff0c;以下以信創 PostgreSQL 認證為例介紹具體步驟&#xff1a; 了解認證體系 信創 PostgreSQL 認證由工信部人才交流中心組織及頒發證書&#xff0c;包括以下三個級別&#xff1a;…

【前端】【webpack-dev-server】proxy跨域代理

參考&#xff1a;https://www.bilibili.com/video/BV1c5SnYZEnZ?spm_id_from333.788.videopod.episodes&vd_source65c8707649747fd67b232866b69a5ebd&p138

批量在 Word 的指定位置插入頁,如插入封面、末尾插入頁面

我們經常會碰到需要在 Word 文檔中插入新的頁面的需求&#xff0c;比如在 Word 文檔末尾插入一個廣告頁、給 Word 文檔插入一個說明封面&#xff0c;在 Word 文檔的中間位置插入新的頁面等等。相信這個操作對于大部分小伙伴來說都不難&#xff0c;難的是同時給多個 Word 文檔插…