我们的 Web 应用在范围、目标和功能方面不断发展,这是一件好事。不过,随着网络内容越来越丰富,另一个趋势也随之出现:每个应用下载的数据量持续稳步增长。为了提供出色的性能,我们需要优化每个字节的传输!
现代 Web 应用是什么样的?HTTP Archive 可以帮助我们回答这个问题。该项目通过定期抓取最热门的网站(Alexa Top 1M 列表中的 30 万多个网站),并记录和汇总每个目标网站的资源数量、内容类型和其他元数据的分析数据,来跟踪网站的构建方式。

上述数据反映了 2013 年 1 月至 2014 年 1 月期间,热门网站下载字节数的增长趋势。当然,并非每个网站都以相同的速度增长或需要相同的数据量,因此我们重点介绍了分布中的不同分位数:第 50 个(中位数)、第 75 个和第 90 个。
2014 年初,一个中等规模的网站由 75 个请求组成,总传输字节数达到 1054 KB,并且总字节数(和请求数)在过去一年中一直稳步增长。这本身并不令人意外,但确实会对性能产生重要影响:是的,互联网速度越来越快,但在不同国家/地区,网速提升的速度不同,许多用户仍受流量上限和昂贵的按流量计费套餐的限制,尤其是在移动设备上。
与桌面应用不同,Web 应用不需要单独的安装过程:输入网址即可运行,这是 Web 的一个关键特性。不过,为了实现这一点,我们通常必须提取数十个(有时是数百个)各种资源,所有这些资源加起来可能达到数兆字节的数据,并且必须在数百毫秒内汇集在一起,以实现我们所追求的即时网络体验。
鉴于这些要求,实现即时网络体验并非易事,因此优化内容效率至关重要:消除不必要的下载,通过各种压缩技术优化每个资源的传输编码,并尽可能利用缓存来消除冗余下载。