浏览器背后:一座从不打烊的城市
服务器一开口,页面爆仓了
双向线路刚接通,服务器激动得一口气塞来五千条消息。页面收件室瞬间爆仓,JavaScript 老大抓住 `bufferedAmount`:“刹车找到了!”WebSocket 却把表盘搬到另一扇门:“方向看反了。”
按下回车的那一刻,浏览器背后的城市便亮了起来。URL 背起行囊,TCP 开车运货,HTTP 在手术室拆装报文,JavaScript 老大则在执行大厅忙得团团转。今天,这座城市里又发生了什么?
浏览器背后:一座从不打烊的城市
双向线路刚接通,服务器激动得一口气塞来五千条消息。页面收件室瞬间爆仓,JavaScript 老大抓住 `bufferedAmount`:“刹车找到了!”WebSocket 却把表盘搬到另一扇门:“方向看反了。”
浏览器背后:一座从不打烊的城市
断网警报刚响,Service Worker 就从路边岗亭冲出来,拦下 URL 的请求车:“服务器不在,我替它回。”旧版还没交班,新版又带着一仓库新文件赶到。到底谁有资格站上这个路口?
浏览器背后:一座从不打烊的城市
一只巨型计算箱霸占了执行大厅,点击在门外砸门,动画躺在地上数遗言。新来的 Worker 刚把活接走,又抄起计算结果直奔 DOM 工地:“让开,我来改页面!”
浏览器背后:一座从不打烊的城市
“别点!购物车还没算完——”警告晚了一步。结算窗当场消失,提交车撞开大门,整栋 DOM 楼却都说自己只是“听见有人点了按钮”。这口锅,到底该谁背?
浏览器背后:一座从不打烊的城市
HTTP/3 的新车当面拐进 UDP 通道,TCP 老司机气得追了三条街:“不可靠的路也敢运网页?”更气人的是,QUIC 不但没丢货,还在断网换路后扬长而去……
浏览器背后:一座从不打烊的城市
发车铃一响,Cookie 们扛着箱子集体冲门。有人冒充远房亲戚,有人过期了还不肯退休,免费抽奖页面甚至偷偷推进一辆转账车。检查员踩下闸门:“今天谁也别想蒙混上车!”
浏览器背后:一座从不打烊的城市
服务器把数据箱送到了门口,JavaScript 伸手去接,浏览器海关却“啪”地落下闸门:“来源不同,先看通关许可!”货都运回来了,怎么还算失败?
浏览器背后:一座从不打烊的城市
URL 抱着域名跑遍网络问路处,得到的回答却永远是“去问下一位”。正准备投诉全员踢皮球,一张真正的服务器地址突然从最后一扇窗口递了出来。
浏览器背后:一座从不打烊的城市
JavaScript 刚把窗户加宽一厘米,转头就问:“现在多宽?”布局工人只好重新量房。如此来回八次,卷尺终于弯成了蚊香:“要不您先问完,再动手?”
浏览器背后:一座从不打烊的城市
DOM 工地才搭到一半,一个普通脚本就抱着枕头躺上了轨道:“文件没到,谁也别想过去。”HTML 解析器当场摔掉扳手——这树爱谁搭谁搭!
浏览器背后:一座从不打烊的城市
定时器天还没亮就来排队,旁边的小门却“唰”地蹿出一个微任务:“我没插队,我走的是 VIP 通道。”队伍眼看越排越长,JavaScript 老大一口咖啡差点喷出来——Promise 什么时候还有这待遇了?
浏览器背后:一座从不打烊的城市
执行大厅刚换上一摞新盘子,递归函数就抱着盘子冲了进来:“再加一层!”盘子越堆越高,事件大厅在门外急得直拍门——最上面那只到底什么时候才能拿走?