quic :quick udp internet connections;是一種新的預設加密的網際網路通訊協議,它提供了許多改進,旨在加速http通訊,同時使其變得更加安全,其最終目的是在web上代替tcp和tls協議
可以看到發起http請求時涉及到tcp三次握手、tls/ssl的秘鑰互動。tcp三次握手+tls握手 大約會消耗4~5rtt;
http是承載於tcp, tcp收到報文時如果出現亂序,是不會將報文送到對應的socket buffer,而是快取下來知道丟棄的報文到達!!
所以: 隊頭報文阻塞後續到達的報文提交到應用層的速率,這是tcp擁塞流量控制導致!
linux 作業系統是乙個網路作業系統,tcp的核心 擁塞控制在核心裡面,如果需要公升級tcp擁塞控制演算法,比較麻煩!
可以看到quic去掉tcp tls多次握手,quic只需要一次握手,大約花費乙個rtt就可以建立連線;
剛剛微軟開源了quic 的 c 實現 msquic:
開始研究一波
從網上得知目前http協議的優缺點,雖然寫過httpserver 但是主要是寫底層架構介面! 乙個http的從定向, 乙個http+tcp**
目前http發展如下:內容來自網際網路
http/1.0一次只允許在乙個tcp連線上發起乙個請求,http/1.1使用的流水線技術也只能部分處理請求併發,仍然會存在佇列頭阻塞問題。為了解決以上的問題2.0應運而生
FFT是幹什麼的
fft在演算法競賽中就有乙個用途 加速多項式乘法 暴言 簡單來說,形如 a0x0 a1x1 a2x2 anxna0x0 a1x1 a2x2 anxn 的代數表示式叫做多項式,可以記作f x a0x0 a1x1 a2x2 anxnf x a0x0 a1x1 a2x2 anxn,其中a0,a1,ana0...
npm是幹什麼的
網上的 npm 教程主要都在講怎麼安裝 配置和使用 npm 卻很少告訴新人 npm 是幹什麼的?為什麼要使用 npm?今天我就來講講這個話題。本文目標讀者是 不太了解 npm 的新人 老司機請繞道。社群共享 麻煩npm的思路大概是這樣的 這些可以被使用的 被叫做 包 package 這就是 npm名...
HttpContext是幹什麼的
httpcontext 類.包括說明和如何使用.於是,上網狂搜 有網路就是好啊.這是我補充的httpcontext 類 1.生存週期 從客戶端使用者點選並產生了乙個向伺服器傳送請求開始 伺服器處理完請求並生成返回到客戶端為止.注 針對每個不同使用者的請求,伺服器都會建立乙個新的httpcontext...