延迟是指 IP 数据包从一个网络端点到另一个网络端点所话费的时间。与之相关的是往返延时(RTT - Rount-Trip Time), 它是延迟的时间的两倍。延迟是制约 Web 性能的主要瓶颈,尤其对于 HTTP 这样的协议,因为其中包含大量往返于服务器的请求
(一些移动设备为节省电力,可能暂时关闭移动数据信号。如果设备需要临时唤醒移动数据设备,建立新连接时还要增加数秒的延迟)
只要宽带没有饱和,两个网络端点之间的连接会一次处理尽可能多的数据量。依据 Web 页面饮用资源的大小和网络连接的传输能力,宽带可能会成为性能的瓶颈
在客户端能够获取 Web 页面钱,它需要通过域名系统把主机名称转换成 IP 地址,DNS 相当于互联网上的电话号码薄。获取的 HTML 页面中所引用;哦你给的各个不同余名也需要转换;幸运的事,一个域名只需转换一次
在客户端和服务器之间建立连接需要往返数据应答, 成为‘三次握手’。
如果客户端发起 HTTPS 连接,它需要进行 TLS 协商; TLS 用来取代 SSL(Secure Sockets Layer)。除了服务器和客户端的计算处理耗时之外,TLS 还会造成额外的往返传输
Web 页面上引用的某个资源,如果它出问题,将延迟整个页面的加载(甚至导致页面出错)。
客户端从开始定位到 Web 页面,直接收到主体页面响应的第一字节所耗费的时间。它包含了之前连接性能各种耗时,还要加上服务器的处理时间。对于主体页面上的资源,TTFB 测量的是从浏览器发起请求至收到其第一字节之间的耗时。
等同于被请求资源的最后字节到达时间。
客户端的屏幕上什么时候开始现实内容?这个指标测量的是用户看到空白页面的时长
这是客户端浏览器认为页面加载完毕的时间
合并 js
合并 css
css sprite
base64
http 缓存(Cache-Control, E-tag)
部署 CDN
使用长缓存
避免重定向
TCP 连接(参考: https://istlsfastyet.com/)