加载目标
“不到一秒”通常被吹捧为最佳加载时间,但这意味着什么?一秒应当被视为向用户表明已请求新内容并将其加载到网页的最长时间准则,例如浏览器显示网页的标题与背景颜色。
从请求中获取到的第一个资源通常是 HTML 文档,然后该文档会调用额外的资源。正如在关键渲染路径中描述的,浏览器在接收到 HTML 后,会立即开始处理,并在接收到内容时进行渲染,而不是等待额外资源的加载。
诚然,在一秒钟内完成加载是理想目标,但很少有网站能实现。这是因为各方的期望有所不同,比如在商用网络上的“hello world”预计只需几毫秒即可加载;而在西伯利亚北部的用户,用着边缘网络在五年的老设备上下载一个猫咪视频时,可能觉得 20 秒内下完就很快了。如果用户等待三四秒而又没有任何加载提示和进度条,那么网站就可能失去潜在访客,得经过很长时间这些访客才会回归了。
在优化性能时,应设定一个大胆的首次加载目标,比如在移动 3G 网络下的加载不超过 5 秒,在办公室的 T1 线路下加载不超过 1.5 秒,并充分利用 Service Worker 和缓存,为后续页面加载设定更高的目标。初始加载页面与加载其他资源、响应用户交互和确保动画流畅的时间指标有所不同: