《浏览器网络技术》读后感
程序员文章站
2022-03-07 21:43:26
...
最近买了Kindle Paperwhite2,出差不用带厚重的书了,背包轻了很多。不足的是亚马逊的电子书不多,很多出版社新出的书支持Kindle的也不多,相对来说图灵社区的电子书已经不少了。闲话不扯,就说说在它那儿买的这边《浏览器网络技术》吧。
原书英文名《High Performance Browser Networking》,微博上对英文版的评价还是比较高的,可惜咱英语不够,这本中文版的译作出来了赶紧买本看看。其实买这边还有个原因:译者是李松峰,以前看过网上他的几篇JavaScript的博客,感觉文字翻译还是不错的,没有很多技术翻译书籍里的生拗、晦涩、不流畅的感觉。
具体到这本书,总体翻译质量还是可以的,但是开篇第一章的标题“潜伏时间”这个词翻译的有些费解,原文是“latency”,个人认为叫“延迟”比较好一点,在社区里面也提了这个意见,译者回复已经修改了,从善如流的态度赞一个。
整本书的核心是:如何降低延迟(latency)。受益于封装的思想,web程序员很少会从物理层、链路层、网络层、传输层再到Http层端到端通盘考虑性能问题。以前一直做企业web开发,默认IE6+浏览器且访问的是企业内网,带宽和延迟几乎不在开发所关注的问题域中,那是因为面对的是一个有稳定网络设施的应用运行环境。但将视角转移到互联网应用中就会发现现在的网络访问环境不光是由光缆组成的有线网络,还包括了无线端到蜂窝网络。说到无线网络,在第5章开头引用了著名的香农公式:C=B*log₂(1+S/N) (bit/s)。大学时上通信原理讲过这个,但这玩意儿怎么推导出来的一点印象没有,这个神奇的log2到底何来忘得一干二净。还好,这并不妨碍后面基于这个公式所做的定性分析。回来重新审视移动互联网时代一条由终端发起的请求所经由的路径,首先会经过无线网络,这部分可能是wifi、也可能是3G、甚至是4G,之后路由会经过核心的有线网络部分,这中间还可能会经过ADSL、光纤等等,由这些带宽和延迟指标各不相同的异质网络真正构成了一条请求所经过的实际路径。由此看来,要达成减少延迟这个本书开头给出的目标需要考虑到要素真够多的。
别担心,对于在不同类型网络结构中减少延迟给出了有实际可操作性的建议和最佳实践。这些建议和实践是通过分析各种网络所基于的相应网络协议的内容和原理的基础上得出的,有过一番介绍和推导过程看起来更令人信服。于我来说最大的收获是开阔了眼界,了解了web应用在移动互联网时代的复杂性,看起来简简单单的一个点击操作背后的名堂何其多。
上一篇: 前端需要掌握的基础算法
下一篇: 外系统单个功能页面嵌入填坑记