实时通信为何从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

零往返的代价:HTTP/3 0-RTT 为何成为开发者必须正视的安全陷阱

2017年2月,一篇发表在IACR密码学预印本上的论文提出了一个尖锐的问题:当一个协议试图在零次往返中建立安全连接时,它是否还能保持密码学的安全承诺?这篇由德国达姆施塔特工业大学Marc Fischlin和Felix Günther撰写的论文,标题本身就揭示了问题的核心——《Replay Attacks on Zero Round-Trip Time: The Case of the TLS 1.3 Handshake Candidates》。 ...

11 min · 5387 words

HTTP/2 Server Push:一个被寄予厚望的特性为何在七年中走向消亡

2015年5月,HTTP/2作为RFC 7540正式发布。在众多新特性中,Server Push被寄予了最高的期望——它被认为是解决"关键请求链"延迟问题的终极方案。理论上,当浏览器请求HTML时,服务器可以同时推送CSS、JavaScript等资源,将原本需要两个往返时间(RTT)的加载过程压缩为一个。 ...

11 min · 5298 words

TLS 1.3 与 QUIC:互联网传输层十年重构的技术逻辑

1994年,Netscape 发布了 SSL 2.0,首次为 HTTP 加上了加密层。二十年后,IETF 发布了 TLS 1.3(RFC 8446),彻底重构了这个协议。又过了三年,QUIC(RFC 9000)正式成为标准,HTTP/3 随之诞生。这不仅是版本号的更迭,而是互联网传输层设计哲学的根本性转变。 ...

11 min · 5110 words

QUIC 协议:当 UDP 重塑互联网传输层

2012年,Google 工程师 Jim Roskind 和他的团队面临一个看似无解的问题:TCP 协议已经统治互联网传输层近 40 年,但它的一些根本性缺陷让 Web 性能优化陷入瓶颈。他们决定做一个在当时看来近乎疯狂的选择——抛弃 TCP,用 UDP 从零重建一个传输协议。 ...

11 min · 5119 words

什么才是真正好用的REST API设计?从资源建模到错误处理的完整实践指南

Postman 2023年的报告显示:75%的受访者认同API-first公司的开发者更高效、软件质量更好。与此同时,52%的开发者将"缺乏文档"列为消费API的最大障碍。这些数字背后是一个简单的真相:你是否用过那种让你怀疑人生的API?POST /getUsers、所有错误都返回200、分页用page=1,2,3却在第5页突然跳过两条数据…… ...

11 min · 5257 words