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

WebSocket连接为何总是在关键时刻断开:从代理超时到心跳机制的完整生存指南

2017年,Chromium团队在Chrome 56版本中做了一个激进的决定:对后台标签页实施严格的定时器节流。这个旨在提升电池续航的改动,意外暴露了一个被忽视多年的问题——大量依赖WebSocket的实时应用在标签页切换后突然失联。 ...

13 min · 6460 words