我们的网络应用在范围、目标和功能上不断增长 - 这是一件好事。然而,对更丰富的网络内容的不懈追求正在推动另一个趋势:每个应用下载的数据量继续稳步增加。为了提供卓越的性能,我们需要优化每一个字节的传送!
现代 Web 应用是什么样的?HTTP Archive 可帮助我们回答这个问题。此项目通过定期抓取最受欢迎的网站(Alexa 百万热门网站列表中的 300,000 多个网站)以及记录和汇总每个单独目标的资源数量、内容类型和其他元数据的分析来追踪网络的构建方式。
以上数据呈现了 2013 年 1 月至 2014 年 1 月期间,网络上热门目的地的下载字节数的增长趋势。当然,并非所有网站的增长速度都相同,或需要的数据量也不同,因此我们要突出显示分布范围内的不同分位数:第 50 个(中位数)、第 75 个和第 90 个。
2014 年初,中位数网站由 75 个请求组成,总传输字节数为 1054 KB,而且上一年中总字节数(和请求)保持稳定增长。这本身并不足为奇,但确实对性能有重要影响:没错,网速变快了,但在不同国家/地区,网速的提升速度不尽相同,而且许多用户仍受数据上限和昂贵的按流量计费套餐的限制,尤其是在移动设备上。
与桌面应用程序不同,网络应用不需要单独的安装过程:只需输入网址,我们就能启动并运行,这是网络的一个重要功能。然而,要做到这一点,我们通常需要获取数十(有时甚至是数百个)各种资源,所有这些资源加起来可能达到兆字节,而且必须在几百毫秒内汇集到一起,以提供我们追求的即时网络体验。
满足这些要求实现即时网络体验绝非易事,优化内容效率至关重要,原因在于优化内容效率:消除不必要的下载,通过各种压缩技术优化每个资源的传输编码,以及尽可能利用缓存来消除冗余下载。