Amazon的全新浏览器Silk使用分离式架构
Amazon开发了基于WebKit的浏览器——Silk,它使用SPDY维持与AWS托管服务的单一连接,在AWS上,web页面可以提前加载和准备,得以推送到设备上。效果就是:浏览速度更快,设备功耗更低,更安全。
Amazon昨天发布了Kindle Fire,它是基于Android的平板设备,其中配备称为Silk的新浏览器。Silk与传统的浏览方式不同,浏览器的各个子系统—— 包括网络处理、HTML、CSS、呈现等等,这些子系统的执行在平板和云之前分离开来,浏览器动态判断哪些在AWS上执行,哪些在本地执行。AWS被看做 无限大的缓存,用来存储用户将会使用Silk加载的页面图像、JavaScript和CSS文件,因此“它在实际设备上一个字节的存储空间都不会占 用”,Amazon Silk的软件研发总监Jon Jenkins这么说。这对于Kindle Fire区区8GB的内部存储来说有其正面效应。
AWS服务把页面送给Silk之前,会准备页面的内容。拿图像来说,根据将要展示的屏幕大小,图像会自动缩减,因此文件变小,传送和加载起来更快。 浏览器保持与Amazon服务器的单一打开连接,随时准备请求更多内容。同样地,Silk不需要等待整个HTML页面,这样它就可以知道请求的其他内容, 因为服务器将会索引页面,而且知道哪些内容将会与HTML一起传送。
ArsTechnica提到:Silk甚至可以在AWS上运行JavaScript代码,并将其编译、送到ARM中。它还可以根据用户的喜好,判断什么时候加载标准的网站页面、什么时候加载移动版本页面。
Amazon没有详述Silk的其他技术细节,但是它的职位招聘指出:Silk基于WebKit的布局引擎,而且大量使用SPDY,这是Google运行在SSL上的协议,目的是降低HTTP造成的延迟。
Silk会检测用户的总体行为模式,根据用户习惯预加载页面,这引起了对于隐私的担心,但是Amazon反驳这些担心,指出这些数据的收集过程是匿名的。
其他人此前曾试过类似处理方式,但是没有Amazon拥有的计算能力,广度上也不及他们的解决方案。Opera Mini是为智能手机和PDA设计的浏览器,通过Opera的代理服务器加载页面,服务器会压缩页面,减少2到3倍的加载时间,降低传送的数据量。
Amazon对浏览器的处理方式,将会对页面加载速度、设备功耗和安全性带来正面影响。功耗的降低是因为取内容需要的连接和数据来回传递过程更少, 而几乎所有内容在加载之前都可以被扫描,使用基于SSL的SPDY,所有的传输将会更安全。对于Amazon来说,从Kindle Fire用户通过AWS浏览的所有web页面中进行数据挖掘,这其中的机会是最大的好处之一。Google也有类似的低调尝试,它提供Page Speed Service,将网站提供者所有的页面通过Google的服务器传递,优化这些页面,但是并未成功。不妨拭目以待Chrome OS在未来是否实现类似功能,这倒是挺有意思的事情。