实时通信为何从HTTP长轮询进化到WebSocket:从Comet技术到RFC 6455的十五年演进

2006年,Dojo框架的创始人Alex Russell在他的博客上发表了一篇题为《Comet: Low Latency Data for the Browser》的文章。文中描述了一种令人沮丧的处境:Web应用需要实时更新,但HTTP协议的设计初衷是为超媒体文档服务,而非双向通信。开发者被迫用各种"hack"手段——隐藏iframe、长轮询、甚至Flash——来模拟服务器推送。Russell将这些技术统称为"Comet",并预言这将是Web开发者的长期痛点。 ...

14 min · 6851 words

Webhook事件为何总是在关键时刻丢失:从HTTP重试到幂等性设计的完整生存指南

支付平台的后台监控突然亮起红灯:一笔大额交易已经完成,但商户系统没有收到任何通知。检查日志发现,Webhook请求确实发出去了——服务端返回了200 OK。然而商户的后端工程师打开他们的系统,事件从未被处理。 ...

11 min · 5287 words

邮件投递为何如此困难:从三重认证到AI过滤的二十年技术博弈

2024年初,一家电商公司发现他们的促销邮件突然全部进入了Gmail的垃圾箱。技术团队检查了所有配置:SPF记录正确、DKIM签名有效、DMARC策略已设置、IP不在任何黑名单上。他们甚至联系了Gmail的支持团队,得到的回复是"一切正常"。问题持续了三周,直到有人发现公司最近雇佣的营销机构在同时使用另一个IP地址发送大量相似内容的邮件——这触发了Gmail的关联声誉惩罚机制。 ...

12 min · 5705 words

一行请求瘫痪百万用户:Web缓存投毒为何成为互联网的隐形杀手

2018年8月,PortSwigger安全研究员James Kettle在Black Hat USA上展示了一项研究成果。他通过一个精心构造的HTTP请求,成功控制了Firefox浏览器的更新系统——理论上可以影响数千万用户。攻击方式简单到令人不安:发送一个带有恶意X-Forwarded-Host头的请求,缓存在此基础上存储了一个指向攻击者服务器的响应,随后所有请求更新的Firefox用户都会被重定向到攻击者控制的服务器。 ...

9 min · 4413 words

IPv6普及为何如此缓慢从NAT的权宜之计到双栈运维的二十年困境

2011年2月3日,迈阿密一场特别的仪式上,ICANN将最后五个/8的IPv4地址块分配给全球五大区域互联网注册管理机构(RIR)。这意味着,IANA掌管的IPv4地址池正式耗尽。当时的预测是:IPv6将在数年内成为主流。 ...

14 min · 6685 words

视频通话为何总是连不上:从NAT穿透到ICE协议的四十年技术博弈

2019年,某跨国企业的远程会议系统在亚太地区频繁出现连接失败。工程师排查了信令服务器、媒体服务器、网络带宽,一切正常。最终发现,问题出在当地运营商部署的CGNAT(运营商级NAT)——近40%的用户无法建立直接的点对点连接,所有流量被迫通过TURN服务器中继,带宽成本飙升至预期的三倍。 ...

14 min · 6909 words

TCP丢包检测为何如此复杂:从超时重传到RACK的四十年技术博弈

1986年10月,美国劳伦斯伯克利实验室(LBL)到加州大学伯克利分校之间的网络连接发生了一件怪事。这两个地理上相距仅400码、中间只隔两个IMP跳站的站点,数据吞吐量从正常的32 Kbps骤降到40 bps——下降了近1000倍。这不是网络故障,而是人类历史上第一次记录到的"拥塞崩溃"(Congestion Collapse)。 ...

11 min · 5261 words