Chromium 采用“预先连接”加速网页浏览
来源:Chrome迷 时间:2010-05-27 12:42:00
各位是否还记得我们之前曾经报道过的微软 IE 项目主管炮轰 Chrome 没有隐私一事?其中就提到了在 Chrome 地址栏中每输入一个文字,就会发送到服务器上。而现在,这个功能似乎真的要来了,当然是善意的。根据最近版本 Chromium 的更新日志中我们可以看到,Chromium 已经开始采用一种被称为“预先连接(pre-connection)”的功能。
我先简单介绍一下浏览器打开浏览器的原理,这样大家一看就明白了。浏览器访问某一个页面时,一般有以下步骤:通过DNS(域名服务器)解析域名,建 立TCP/IP链接,下载HTML网页,解析网页中的元素(样式表、脚本、图片等),与各个元素的服务器建立链接, 下载网页中的元素,同时渲染页面。
大家知道 Chrome/Chromim 已经在稳定版中实现部署了DNS预解析,但似乎 Google 感觉在某些情况下还不够速度,于是开始尝试在 Chromium 中加入了预先建立TCP/IP连接的功能,大家可以从r47479 版的 Chromium 更新日志中看到这个变化,其目的是希望借此进一步提升网页浏览速度。建立TCP/IP连接需要浏览器与网站之间有三次传 输,如果能够预先建立连接的话将会节省很多时间,当然也要看你的网速以及你与网站之间的距离。
如上面的粗体所示,提前建立链接有会作用在两大类地方。当你在地址栏(Omnibox)中开始键入关键字的时候,如果 Chromium 推测你将要进行搜索,它会预先建立与默认搜索引擎(Google,百度等)之间的链接。当你打开一个网页时,Chromium 会根据历史推断页面中链接的点击几率,如果几率足够高,它也会提前建立链接。如果几率不高,只提前解析域名(DNS预解析)。根据描述,这一改进将对图像 搜索性能产生非常明显的提升,因为在你点开搜索的图像之前,可能已经做完了很多步骤了。
目前,该功能虽然已经加入了 Chromium,但还没有默认启用,需要在启动时加上 --enable-preconnect 参数启用,当然你还需要安 装最新版的 Chromium。
想要跟踪该功能的更多进展,请在Chrome/Chromium项目的第42694号请 求页面下方的“Vote for this issue and get email change notifications.”处打上星号。