月度归档:2026年10月 (59)

连载中 14/20

DNS 解析:一次域名查询的奇幻漂流

从浏览器缓存一路问到根服务器,递归与迭代各司其职,TTL 决定改配置要等多久。DNS 是互联网最古老的缓存系统,也是最常见的故障源头——解析慢、解析错、被劫持,各有各的剧本。

#DNS解析#递归迭代#TTL#HttpDNS#dig
2026-10-07 · 9 阅读 · 0 评论 · 0 赞
连载中 13/20

证书与信任链:CA 凭什么给你背书

证书不是加密文件,是一份带签名的身份档案。浏览器逐级验签到内置的根 CA 才肯放行——理解了信任链,证书过期、域名不匹配、SNI 是什么、为什么全站必须 HTTPS,全都一句话讲清。

#证书#信任链#CA#SNI#X509
2026-10-07 · 9 阅读 · 0 评论 · 0 赞
连载中 12/20

TLS 握手:HTTPS 到底慢在哪一步

非对称加密换密钥,对称加密传数据——TLS 的设计一眼看穿。慢的不是算力是 RTT:TLS 1.2 要 2 个来回,1.3 砍到 1 个,会话复用还能到 0。会看 openssl 握手输出,性能账就清楚了。

#TLS握手#HTTPS#TLS1.3#会话复用#ECDHE
2026-10-06 · 15 阅读 · 0 评论 · 0 赞
连载中 11/20

HTTP/2 多路复用:一条连接怎么跑一百个请求

把报文切成二进制帧、按 stream 编号交错传输——HTTP/2 用一场拆包运动终结了应用层队头阻塞。HPACK 顺手把重复的请求头压掉九成,但 TCP 那道墙依然立在那里。

#HTTP2#多路复用#二进制分帧#HPACK#stream
2026-10-06 · 8 阅读 · 0 评论 · 0 赞
连载中 10/20

队头阻塞:从排队打饭到 HTTP/2 的死角

一个慢请求堵住一整条连接,这就是队头阻塞。HTTP/1.1 的解法是开六条队,黑历史是域名分片;HTTP/2 解决了应用层的排队,却撞上 TCP 层的同一堵墙。

#队头阻塞#HTTP1.1#域名分片#HTTP2#TCP队头
2026-10-05 · 12 阅读 · 0 评论 · 0 赞
连载中 9/20

HTTP/1.1 的家底与欠账:keepalive、chunked 和一肚子文本

明文、行分隔、一问一答——HTTP/1.1 用最朴素的设计统治了三十年。keepalive 和 chunked 是它的两大传家宝,文本协议和队头阻塞是它甩不掉的债。curl -v 一敲,所有细节看得见。

#HTTP1.1#keepalive#chunked#报文结构#curl
2026-10-05 · 14 阅读 · 0 评论 · 0 赞
连载中 8/20

Nagle 与延迟确认:一个攒包一个拖确认,40ms 卡顿的百年恩怨

Nagle 想攒满一车再发,延迟确认想等 40ms 搭个顺风车——两个都出于好意的机制碰到一起,就是 request-response 场景的经典卡顿。一条 TCP_NODELAY,多数交互式服务都该开。

#Nagle算法#延迟确认#TCP_NODELAY#小包#40ms延迟
2026-10-04 · 13 阅读 · 0 评论 · 0 赞
连载中 7/20

拥塞控制:慢启动、拥塞避免、快重传、快恢复四幕剧

rwnd 管得住接收方,管不住中间那条拥堵的路。TCP 用 cwnd 探路:指数冲刺、线性爬坡、丢包刹车、减半缓行。1988 年的四幕剧演到今天,直到 BBR 换了个思路。

#拥塞控制#慢启动#拥塞避免#BBR#bufferbloat
2026-10-04 · 15 阅读 · 0 评论 · 0 赞
连载中 6/20

滑动窗口:TCP 凭什么不丢、不重、不乱序

发一个等一个太慢,一口气全发出去又会淹死对端——滑动窗口在两者之间找平衡:在途数据封顶,确认到来窗口右滑。配合超时重传、快速重传和 SACK,构成 TCP 可靠性的四梁八柱。

#滑动窗口#确认重传#快速重传#SACK#吞吐量
2026-10-03 · 11 阅读 · 0 评论 · 0 赞