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性能调优案例分析[译文]”

SparkUI:FreeWheel的React开发实践[转载]

SparkUI是一套完整且灵活的前端开发解决方案。该方案基于React,由Modula应用状态管理框架、一系列可重用的前端组件、以及构建SPA所需的各类支持库组成。该方案重视可重用性、灵活性、可测试性以及开发效率,解决了前端社区常见的一些针对商业前端应用开发的痛点,如复杂状态、Side Effect,组件拆分等,更在工程实践、文档化、本身代码质量等方面达到较高标准,为前后端分离架构下的商业前端应用开发提供了坚实的基础。目前SparkUI已成功应用在FreeWheel的前端项目中。 继续阅读“SparkUI:FreeWheel的React开发实践[转载]”