本站域名更换为ywsong.com

由于备案原因,本站域名由原来的evis.me更换为ywsong.com,原evis.me域名下所有URL都会自动跳转(301)到ywsong.com对应的URL。

眼看这个博客已经变成“年更”了,基本还得归咎于个人原因。但毕竟是陪伴自己度过年轻岁月的老朋友,不希望让他就此消失掉。留个念想,哪天又因个人原因突然开始更新了也说不定。

HTTP响应头中的“拼写错误”:“Cneonction: close”

最近在日常工作中经常要盯着HTTP请求和响应头,突然发现一个疑似拼写错误: Cneonction: close

这个难道不应该是 Connection: close 吗?根据https://serverfault.com/a/790199/415775:这代表服务器对客户端说“虽然你请求里要求keep-alive,但我不鸟你,我的事干完了所以我把连接关掉了”。到底是Nginx还是什么上游的服务器出了如此低级的错误?

经过一些搜索,发现这其实并不是一个真正的拼写错误。业界著名的硬件负载均衡方案提供商Citrix旗下有一款产品叫NetScaler,当它认为上游返回的响应,其HTTP或HTTPS连接可以被优化时,会覆写响应头;而它覆写响应头的方式,就是把 Connection 改成 Cneonction ,浏览器等客户端会忽视这一“拼写错误”的响应头,配合服务器端保持连接。这一修改方式的好处是,可以将HTTP包保持在原有大小,甚至可以保持同样的TCP checksum。

参考:https://news.ycombinator.com/item?id=477109

 

Treebo基于React/Preact的PWA性能调优案例分析[译文]

Treebo是在印度名列前茅的连锁经济酒店,在200亿美元规模的旅游产业中占据了重要位置。他们最近发布了全新的、先后基于React和Preact构建的PWA(Progressive Web App,渐进式网页应用),为其客户提供移动端体验。

相比他们的上一代移动端网站,新PWA的白屏(First Paint)时间缩短了70%,可交互时间(Time-to-Interactive)缩短了31%,3G网络下加载时间短于4秒。在WebPageTest中模拟印度3G网络测试(译者按:在本文“由React切换至Preact”章节末尾介绍了测试详情),页面5秒内即可交互。

单从React更换为Preact这一项就为可交互时间贡献了15%的提升。你可以访问Treebo.com体验这一PWA,本文将着重介绍其技术演进的过程。 继续阅读“Treebo基于React/Preact的PWA性能调优案例分析[译文]”