Skip to content

3.2 HTTP/1.1 如何优化?

  • 避免发送 http 请求:
    • 通过 HTTP 协议头部字段进行协商,将一些重复性的请求通过 URL 为 key,响应为 value,缓存在本地
    • 服务器预估过期时间,前端发现过期重新请求,并通过 Etag 保存摘要,如果没变,服务器返回 304,依旧使用缓存
  • 减少 http 请求次数
    • 减少重定向请求次数:增加代理服务器,当需要重定向,代理服务器直接完成重定向请求,不由客户端完成
    • 合并请求:有的网页会有多个小图片,每个图片一次请求,可以将这些打包成大文件(但是修改一个就要全部请求,有利有弊)
    • 延迟发送请求:一开始只请求必要的资源,后续资源在客户端实际使用再请求。
  • 减少 HTTP 响应数据大小:
    • 无损压缩( gzip), 有损压缩:解压的数据会与原始数据不同但是非常接近(webP )
  • 支持只请求部分资源:
    • 在请求投使用 range,返回码是 206,节省带宽,
  • 虚拟主机:
    • 引入 Host Header,允许同一个 IP 地址托管多个域名,支持虚拟主机。

正在精进