日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HTTP1.1 Keep-Alive到底算不算长连接?

發布時間:2023/12/4 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTP1.1 Keep-Alive到底算不算长连接? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 碼甲說??

? ? ? 在基礎架構部浸潤了半年,有一些認知刷新想和童靴們交代一下, 不一定全面,僅代表此時的認知, 也歡迎筒靴們提出看法。

本文聊一聊口嗨用語:“長連接、短連接”, 文章會按照下面的思維導圖來講述:

重點圍繞這兩個難點/思維誤區來整理知識體系。

  • 長連接 vs 短連接

  • Http1.1持久連接 vs ?WebSocket長連接

長連接 vs 短連接

長連接是指一個連接上連續發送多個數據包。

短連接是指雙方要數據交互時,建立一個連接,數據發送完畢,則斷開連接,即每次連接只完成一個單元的業務傳輸,有需要再建立新連接傳輸數據。

實際上長短連接都是針對TCP連接而言的,強調的是應用層對下層TCP連接的使用姿勢,采用哪種連接由應用根據自身情況決定。

長連接多用于操作頻繁、點對點的通信,而且連接數不能太多的情況。每次TCP連接都需要三次握手,這需要時間,如果每個操作都是短連接,再操作的話那么處理速度會降低很多,所以每次操作完后都不斷開,下次處理時直接發送數據包就OK了,不用建立TCP連接。例如:數據庫的連接用長連接,如果用短連接頻繁的通信會造成socket錯誤,而且頻繁的socket 創建也是對資源的浪費。

而常規web網站一般都是短連接,這是由web站點的特征決定,web站點的客戶端數量大、訪問時間/頻次不固定,采用短連接能節省服務器資源;如果客戶端都維持長連接,可想而知,會占用多大的服務器資源, 所以并發量大,但每個用戶無需頻繁操作的時候使用短連接較好。

HTTP1.1 持久連接

早期HTTP1.0是純粹的TCP短連接的應用,每個連接完成一次Http請求/響應模型,這種方式頻繁的創建/銷毀連接無疑是有一定性能損耗的。

目前普遍應用的HTTP1.1的Keep-alive官方術語上叫持久連接(英語:HTTP persistent connection,也稱作HTTP connection reuse),國內口嗨稱為“HTTP長連接”。

HTTP1.1keep-alive,我認為是應用層HTTP協議對于TCP連接的折中使用,是應用層對下層TCP連接的復用協商

  • Http1.0 頻繁創建/銷毀連接確實給通信雙方帶來了不必要的性能損耗 ?#不必要#

  • 直接使用典型的長連接又會給服務端帶來極大的壓力 ?#不允許#

故HTTP1.1的keep-alive一方面允許多個HTTP請求復用一個TCP連接, 另一方面又將這種復用時效交由客戶端/服務端在應用層協商:應用層每次請求/響應均攜帶Connection:Keep-Alive標頭滑動續約

HTTP 1.1 Keep-Alive的實質是應用層滑動續約復用TCP連接?

大家不妨回想一下,常見的各種客戶端/服務器,均有KeepAliveTimeout這樣的參數

  • 客戶端IE默認的KeepAliveTimeout是1分鐘[1]

  • 服務器IIS默認ConnectionTimeout時長是2min[2]

  • 服務器ASP.NetCore Kestrel默認的KeepAliveTimeout=130s[3]

  • 服務器nginx默認的keepalive_timeout=60s[4]

  • 這些參數均能印證 HTTP Keep-Alive 是一種對于TCP連接的滑動續約復用。

    這里面明眼人一看,1.2.4針對TCP Connection復用的滑動超時時間是拍腦袋決定的,而第3點ASP.NET Core Kestrel作為.NETCore的寄宿服務器為什么是130s,有點意思,我給你們找出相關:?KestrelServerLimits.KeepAliveTimeout=130s[5]

    典型的長連接Websocket

    Websocket是一種典型的長連接,通過第一個HTTP Request建立了TCP連接之后,之后數據交互都不需要發送HTTP Request了,但是不需要發送 HTTP header就能交換數據顯然和原有的 HTTP 協議是有區別的,所以它需要對服務器和客戶端都進行升級才能實現,這個協商是在Websocket數據傳輸之前就已經完成:通過初次HTTP建立TCP連接的時候攜帶Upgrade標頭來通知雙方提升協議。

    Websocket也有keepalive機制,Websocket的keepalive的作用是在復雜的網絡環境中探測連接對端是否還存活。

    旁白總結

  • 長短連接都是針對TCP連接而言,強調的是應用層對于TCP連接的使用姿勢。

  • HTTP1.1?Keep-Alive是對TCP連接的折中使用,既不是短連接,也不能稱為典型的長連接。

  • HTTP1.1?Keep-Alive官方稱持久連接,我的觀點是HTTP1.1?Keep-Alive?是在應用層對TCP連接進行滑動續約復用。

  • 典型的長連接Websocket在數據傳輸之前就完成了長連接確認。

  • ? ? ? ? ? ? ?文章某些觀點可能讓一些童鞋不適,歡迎表明態度,理性討論!!!

    參考資料

    [1]

    IE默認的KeepAliveTimeout是1分鐘: https://docs.microsoft.com/en-US/troubleshoot/browsers/change-keep-alive-time-out

    [2]

    IIS默認ConnectionTimeout時長2min: https://docs.microsoft.com/en-us/previous-versions/iis/6.0-sdk/ms525597

    [3]

    ASP.Net Core Kestrel默認的KeepAliveTimeout=130s: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.core.kestrelserverlimits.keepalivetimeout?view=aspnetcore-6.0#Microsoft_AspNetCore_Server_Kestrel_Core_KestrelServerLimits_KeepAliveTimeout

    [4]

    nginx默認的keepalive_timeout=60s: http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout

    [5]

    KestrelServerLimits.KeepAliveTimeout=130s: https://github.com/dotnet/runtime/issues/52267

    點個在看你最好看

    僅代表此刻認知,文章永久更新地址,請移步原文!!

    總結

    以上是生活随笔為你收集整理的HTTP1.1 Keep-Alive到底算不算长连接?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 91亚洲国产成人久久精品麻豆 | 污污免费视频 | 91色网站 | 亚洲激情偷拍 | 日韩亚洲精品视频 | 国产精品4区 | 永久免费看黄 | 国产特级av | 免费在线观看www | 久久影片 | 午夜a级片 | 亚洲女则毛耸耸bbw 边吃奶边添下面好爽 | 夜色成人网 | 四色在线 | 国产传媒av在线 | 九九操| 91国产视频在线播放 | 美女网站黄频 | 精品人人妻人人澡人人爽牛牛 | 亚洲国产日韩在线 | 亚洲精品99久久久久中文字幕 | 爱爱一区 | 国产精品久久久久久久久久久免费看 | 天天超碰| 视频一区二区免费 | 91精品国产高清一区二区三密臀 | 麻豆av一区二区三区久久 | 国产成人无码精品 | 体内射精一区二区 | 日韩激情欧美 | 在线视频日韩欧美 | 日爽夜爽| 德国性经典xxxx性hd | 超碰com| 成人高清视频免费观看 | 中文字幕日韩精品亚洲一区小树林 | 葵司有码中文字幕二三区 | 少妇av导航 | 噼里啪啦动漫高清在线观看 | 日韩亚洲区 | 国产午夜精品一区二区三区 | 久久久久久久久久久久久久国产 | a级片免费播放 | 久久精品99| 亚洲av无码乱码在线观看富二代 | 东京久久久 | 精品久久久一区二区 | 91视频网页 | 日本大胆人体视频 | 亚洲欧洲在线视频 | 欧美一级视频 | 天天干天天色天天 | 69堂免费视频 | 欧美精品动漫 | 伊人春色在线观看 | 国产精品99精品无码视亚 | 800av免费在线观看 | 夜夜草av | 亚洲成人av片| 特高潮videossexhd| 亚洲人精品午夜射精日韩 | 日日干天天爽 | 不卡成人| 欧美另类videos | 青青草久| 中国性猛交| 欧美精选一区二区 | 男人在线视频 | 污视频在线观看免费 | 成人片免费看 | 午夜一区不卡 | 最新极品jizzhd欧美 | 欧美又粗又长又爽做受 | 91玉足脚交白嫩脚丫 | 亚洲综合五月天婷婷丁香 | 视频一区二区在线 | 少妇按摩一区二区三区 | www.xxx日韩| 一个色av | 国产精品美女视频 | 日韩在线1 | 中文字幕激情 | 日韩乱码视频 | 国产精品无码一区二区三区 | 欧美aⅴ视频 | 亚洲欧美韩日 | 欧美美女色图 | 国内一级视频 | 手机av在线免费观看 | www日本com | 国产中文欧美日韩在线 | 国产精品区二区三区日本 | 91一区视频 | 国产黄色大全 | av黄色成人| 蜜桃av在线看 | 欧美日韩亚洲国产另类 | 大乳女喂男人吃奶 | 一级大黄色片 |