TCP、HTTP/1.1 和HTTP/2 協議

TCP、HTTP/1.1 和 HTTP/2 是互聯網通信中的核心協議,它們在網絡分層中處于不同層級,各有特點且逐步演進。以下是它們的詳細對比和關鍵特性:


1. TCP(傳輸控制協議)

  • 層級:傳輸層(OSI第4層)
  • 核心功能:提供可靠的、面向連接的字節流傳輸服務。
  • 關鍵特性
    • 可靠性:通過確認(ACK)、重傳、校驗和等機制確保數據完整。
    • 流量控制:滑動窗口機制調節發送速率,避免接收方過載。
    • 擁塞控制:動態調整發送速率(如慢啟動、擁塞避免算法)。
    • 連接管理:三次握手建立連接,四次揮手釋放連接。
  • 缺點:頭部開銷較大(至少20字節),且無法直接支持多路復用。

2. HTTP/1.1(超文本傳輸協議 1.1)

  • 層級:應用層(OSI第7層),基于TCP。
  • 核心功能:客戶端-服務器模式的請求-響應協議,用于傳輸Web資源。
  • 關鍵特性
    • 持久連接(Keep-Alive):默認復用TCP連接,減少握手開銷。
    • 管道化(Pipelining):允許連續發送多個請求(但響應必須按序返回,易阻塞)。
    • 分塊傳輸(Chunked Encoding):支持流式傳輸動態內容。
    • 緩存控制:通過Cache-ControlETag等頭部優化性能。
  • 缺點
    • 隊頭阻塞(Head-of-Line Blocking):同一連接的請求必須按序處理。
    • 冗余頭部:每次請求攜帶大量重復頭部(如Cookie)。
    • 低效的多資源加載:需建立多個連接(6-8個/域名)并行請求。

3. HTTP/2

  • 層級:應用層,仍基于TCP,但通過二進制分幀優化。
  • 核心改進:解決HTTP/1.1的性能瓶頸,提升傳輸效率。
  • 關鍵特性
    • 二進制分幀(Binary Framing):將消息分解為二進制幀(HEADERS、DATA等),實現多路復用。
    • 多路復用(Multiplexing):同一連接上并行交錯傳輸多個請求/響應,徹底解決隊頭阻塞。
    • 頭部壓縮(HPACK):壓縮冗余頭部,減少開銷。
    • 服務器推送(Server Push):主動推送客戶端可能需要的資源(如CSS/JS)。
    • 流優先級(Stream Prioritization):按優先級分配帶寬(如優先加載HTML)。
  • 缺點
    • TCP層隊頭阻塞:若單個TCP包丟失,所有流需等待重傳(HTTP/3改用QUIC解決)。
    • 部署復雜度:需TLS加密(瀏覽器強制要求),服務器配置更復雜。

對比總結

特性TCPHTTP/1.1HTTP/2
層級傳輸層應用層應用層
連接管理面向連接(三次握手)復用TCP連接(Keep-Alive)單連接多路復用
數據傳輸可靠字節流文本/二進制(分塊傳輸)二進制幀
隊頭阻塞無(但丟包影響所有流)存在(請求/響應需按序)應用層無,TCP層仍有
頭部開銷固定20字節+選項冗余文本頭部HPACK壓縮
并行能力需多端口/連接依賴多連接(6-8個/域名)單連接并行流
典型應用場景所有可靠傳輸需求傳統Web服務現代Web、SPA、實時應用

演進趨勢

  • HTTP/1.1 → HTTP/2:通過多路復用和頭部壓縮顯著提升性能,但受限于TCP的固有缺陷。
  • HTTP/2 → HTTP/3:基于QUIC協議(UDP)進一步解決TCP隊頭阻塞,實現0-RTT快速握手。

理解這些協議的差異有助于優化網絡應用設計(如減少DNS查詢、啟用壓縮、利用CDN等)。實際開發中,HTTP/2已成為主流,但在某些舊系統或特殊場景(如長連接)中仍需權衡選擇。

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

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

相關文章

Java+Vue開發的進銷存ERP系統,集采購、銷售、庫存管理,助力企業數字化運營

前言:在當今競爭激烈的商業環境中,企業對于高效管理商品流通、采購、銷售、庫存以及財務結算等核心業務流程的需求日益迫切。進銷存ERP系統作為一種集成化的企業管理解決方案,能夠整合企業資源,實現信息的實時共享與協同運作&…

【趣談】Android多用戶導致的UserID、UID、shareUserId、UserHandle術語混亂討論

【趣談】Android多用戶導致的UserID、UID、shareUserId、UserHandle術語混亂討論 備注一、概述二、概念對比1.UID2.shareUserId3.UserHandle4.UserID 三、結論 備注 2025/07/02 星期三 在與Android打交道時總遇到UserID、UID、shareUserId、UserHandle這些術語,但是…

P1424 小魚的航程(改進版)

題目描述有一只小魚,它平日每天游泳 250 公里,周末休息(實行雙休日),假設從周 x 開始算起,過了 n 天以后,小魚一共累計游泳了多少公里呢?輸入格式輸入兩個正整數 x,n,表示從周 x 算起…

<二>Sping-AI alibaba 入門-記憶聊天及持久化

請看文檔&#xff0c;流程不再贅述&#xff1a;官網及其示例 簡易聊天 環境變量 引入Spring AI Alibaba 記憶對話還需要我們有數據庫進行存儲&#xff0c;mysql&#xff1a;mysql-connector-java <?xml version"1.0" encoding"UTF-8"?> <pr…

【機器學習深度學習】模型參數量、微調效率和硬件資源的平衡點

目錄 一、核心矛盾是什么&#xff1f; 二、微調本質&#xff1a;不是全調&#xff0c;是“挑著調” 三、如何平衡&#xff1f; 3.1 核心策略 3.2 參數量 vs 微調難度 四、主流輕量微調方案盤點 4.1 凍結部分參數 4.2 LoRA&#xff08;低秩微調&#xff09; 4.3 量化訓…

【V13.0 - 戰略篇】從“完播率”到“價值網絡”:訓練能預測商業潛力的AI矩陣

在上一篇 《超越“平均分”&#xff1a;用多目標預測捕捉觀眾的“心跳曲線”》 中&#xff0c;我們成功地讓AI學會了預測觀眾留存曲線&#xff0c;它的診斷能力已經深入到了視頻的“過程”層面&#xff0c;能精確地指出觀眾是在哪個瞬間失去耐心。 我的AI現在像一個頂級的‘心…

java微服務(Springboot篇)——————IDEA搭建第一個Springboot入門項目

在正文開始之前我們先來解決一些概念性的問題 &#x1f355;&#x1f355;&#x1f355; 問題1&#xff1a;Spring&#xff0c;Spring MVC&#xff0c;Spring Boot和Spring Cloud之間的區別與聯系&#xff1f; &#x1f36c;&#x1f36c;&#x1f36c;&#xff08;1&#xff0…

服務器間接口安全問題的全面分析

一、服務器接口安全核心威脅 文章目錄**一、服務器接口安全核心威脅**![在這里插入圖片描述](https://i-blog.csdnimg.cn/direct/6f54698b9a22439892f0c213bc0fd1f4.png)**二、六大安全方案深度對比****1. IP白名單機制****2. 雙向TLS認證(mTLS)****3. JWT簽名認證****4. OAuth…

vs code關閉函數形參提示

問題&#xff1a;函數內出現灰色的形參提示 需求/矛盾&#xff1a; 這個提示對老牛來說可能是一種干擾&#xff0c;比如不好對齊控制一行代碼的長度&#xff0c;或者容易看走眼&#xff0c;造成眼花繚亂的體驗。 關閉方法&#xff1a; 進入設置&#xff0c;輸入inlay Hints&…

ESXi 8.0安裝

使用群暉&#xff0c;突然nvme固態壞了 新nvme固態&#xff0c;先在PC上格式化下&#xff0c;不然可能N100可能不認 啟動&#xff0c;等待很長時間 回車 F11 輸入密碼&#xff0c;字母小寫字母大寫數字 拔掉U盤&#xff0c;回車重啟 網絡配置 按F2&#xff0c; 輸入密碼&…

【git學習】第2課:查看歷史與版本回退

好的&#xff0c;我們進入 第2課&#xff1a;版本查看與回退機制&#xff0c;本課你將學會如何查看提交歷史、對比更改&#xff0c;并掌握多種回退版本的方法。&#x1f4d8; 第2課&#xff1a;查看歷史與版本回退&#x1f3af; 本課目標熟練查看 Git 提交記錄掌握差異查看、版…

攝像頭AI智能識別工程車技術及應用前景展望

攝像頭AI自動識別工程車是智能交通系統和工程安全管理領域的一項重要技術。它通過圖像識別技術和深度學習算法&#xff0c;實現對工程車的自動檢測和識別&#xff0c;從而提高了施工現場的安全性和管理效率。以下是對該技術及其應用的詳細介紹&#xff1a;一、技術實現數據收集…

Windows服務器安全配置:組策略與權限管理最佳實踐

Windows服務器是企業常用的服務器操作系統&#xff0c;但其開放性和復雜性也使其成為攻擊者的目標。通過正確配置組策略和權限管理&#xff0c;可以有效提高安全性&#xff0c;防止未經授權的訪問和惡意軟件的入侵。以下是詳細的安全配置指南和最佳實踐。 1. 為什么組策略和權限…

Windows部署Rocketmq問題匯總

最近研究了下Rocketmq消息中間件&#xff0c;在Win10上部署時遇到一些問題&#xff0c;做個記錄 部署的是Rocketmq 4.92版本&#xff0c;對應使用的控制臺用的1.0版本 下載地址 1.優化內存占用 修改 runserver.cmd 修改前 set "JAVA_OPT%JAVA_OPT% -server -Xms2g -Xmx…

動手學深度學習-學習筆記(總)

文章目錄 1、概述2、內容2.1、python2.2、動手學深度學習2.2.1、課前準備2.2.2、預備知識2.2.3、線性神經網絡 2.3、深度學習重要概念 3、常見問題3.1、安裝 d2l 失敗3.2、調用 mean() 方法報錯3.3、markdown 常見公式3.4、執行動手學深度學習中的代碼&#xff0c;無法顯示圖片…

springboot3.5 MySQL 自動裝配解析

一、配置環境 1. 配置pom.xml <dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency> 2、自動配置圖解 二、相關代碼解析 1、自動配置入口&#xff1a…

使用 Conda 工具鏈創建 Poetry 本地虛擬環境全記錄——基于《Python 多版本與開發環境治理架構設計》

Python 多版本治理理念&#xff08;Windows 平臺 零基礎友好&#xff09;-CSDN博客 Python 多版本與開發環境治理架構設計-CSDN博客 使用命令行創建項目本地的 Poetry 虛擬環境實戰演示 —— 基于《Python 多版本與開發環境治理架構設計》的最佳實踐-CSDN博客 一、Python311 環…

北小菜, python , onvif

第一節&#xff1a; 首先是環境的搭建。 環境的搭建。 roottopeet:/home/topeet/source_code/wang_onvif_python# python -m venv venv Command python not found, did you mean:command python3 from deb python3command python from deb python-is-python3 roottopeet:/ho…

TinyWebserver學習(9)-HTTP

一、相關知識 1、有限狀態機&#xff1a; 有限狀態機&#xff08;Finite State Machine, FSM&#xff09;是一種用于描述對象在其生命周期內可能經歷的不同狀態及其狀態轉換規則的模型。它廣泛應用于游戲開發、網絡協議、詞法解析、UI邏輯控制等領域。以下是C中有限狀態機的簡…

2025最新軟件測試面試八股文

&#x1f345; 點擊文末小卡片&#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 Part1 1、你的測試職業發展是什么&#xff1f; 測試經驗越多&#xff0c;測試能力越高。所以我的職業發展是需要時間積累的&#xff0c;一步步向著高級測試工程師…