Skip to content
大纲

页面优化 ​

基本优化 ​

  1. 减少http请求
    • 根据页面情况,后台尽量将数据量小的几个接口,合并成一个
  2. 使用浏览器http缓存 常规http缓存只缓存get方式
    • 不常变资源使用强缓存,后台可以设置prama(http1.0产物)、cache-control、expires
      1. 破强缓存,资源带上hash值,更新index.html的引用路径
      2. 请求带上类似时间戳参数
    • 较常变的资源使用协商缓存,后台设置请响应头last-modified,前端请求浏览器会带上if-modified-since,或者使用请求头 if-none-match 和响应头 etag
      1. 每次请求带上if-modified-since或者if-none-match。后台判断是否最新的。有就返回新的,没就返回304用缓存的
      2. 优先级 if-none-match > if-modified-since
      3. 会多一次协商请求,带上和协商缓存相关的请求头
  3. 浏览器Service Worker缓存
    • 只能在https环境下部署,本地服务可以用来测试。国内谷歌浏览器的支持并不完整
  4. 浏览器indexDB数据库
    • 储存空间大 IndexedDB 的储存空间比 LocalStorage 大得多,一般来说不少于 250MB,甚至没有上限。
    • 源限制 IndexedDB 受到同源限制,每一个数据库对应创建它的域名。网页只能访问自身域名下的数据库,而不能访问跨域的数据库
    • 支持二进制储存。 IndexedDB 不仅可以储存字符串,还可以储存二进制数据(ArrayBuffer 对象和 Blob 对象)
  5. gzip压缩,静态资源最好本地打包时压好,不要让服务器响应时去压
  6. 静态资源压缩、合并
  7. Sprites图片
  8. 资源懒加载,按需加载
  9. 合理搭配js,css加载的位置
  10. 减少dom操作,避免频繁重排
  11. 起本地服务,资源放本地
  12. 避免页面重定向

首次进入页面 ​

  1. gzip压缩,静态资源最好本地打包时压好,不要让服务器响应时去压
  2. 静态资源压缩、合并
  3. Sprites图片
  4. 资源懒加载,按需加载
  5. 合理搭配js,css加载的位置
  6. 起本地服务,资源放本地
  7. 避免页面重定向

再次进入页面 ​

  1. 使用浏览器http缓存 常规http缓存只缓存get方式
    • 不常变资源使用强缓存,后台可以设置prama(http1.0产物)、cache-control、expires
      1. 破强缓存,资源带上hash值,更新index.html的引用路径
      2. 请求带上类似时间戳参数
    • 较常变的资源使用协商缓存,后台设置请响应头last-modified,前端请求浏览器会带上if-modified-since,或者使用请求头 if-none-match 和响应头 etag
      1. 每次请求带上if-modified-since或者if-none-match。后台判断是否最新的。有就返回新的,没就返回304用缓存的
      2. 优先级 if-none-match > if-modified-since
      3. 会多一次协商请求,带上和协商缓存相关的请求头
  2. 浏览器Service Worker缓存
    • 只能在https环境下部署,本地服务可以用来测试。国内谷歌浏览器的支持并不完整
  3. 浏览器indexDB数据库
    • 储存空间大 IndexedDB 的储存空间比 LocalStorage 大得多,一般来说不少于 250MB,甚至没有上限。
    • 源限制 IndexedDB 受到同源限制,每一个数据库对应创建它的域名。网页只能访问自身域名下的数据库,而不能访问跨域的数据库
    • 支持二进制储存。 IndexedDB 不仅可以储存字符串,还可以储存二进制数据(ArrayBuffer 对象和 Blob 对象)

Released under the MIT License.