Skip to content

说说常规的前端性能优化手段

参考答案:

  • content方面
    • 减少HTTP请求:合并文件、CSS精灵、inline Image
    • 减少DNS查询:DNS查询完成之前浏览器不能从这个主机下载任何任何文件。方法:DNS缓存、将资源分布到恰当数量的主机名,平衡并行下载和DNS查询
    • 避免重定向:多余的中间访问
    • 使Ajax可缓存
    • 非必须组件延迟加载
    • 未来所需组件预加载
    • 减少DOM元素数量
    • 将资源放到不同的域下:浏览器同时从一个域下载资源的数目有限,增加域可以提高并行下载量
    • 减少iframe数量
    • 不要404

  • Server方面
    • 使用CDN
    • 添加Expires或者Cache-Control响应头
    • 对组件使用Gzip压缩
    • 配置ETag
    • Flush Buffer Early
    • Ajax使用GET进行请求
    • 避免空src的img标签

  • Cookie方面
    • 减小cookie大小
    • 引入资源的域名不要包含cookie

  • css方面
    • 将样式表放到页面顶部
    • 不使用CSS表达式
    • 不使用IE的Filter

  • Javascript方面
    • 将脚本放到页面底部
    • 将javascript和css从外部引入
    • 压缩javascript和css
    • 删除不需要的脚本
    • 减少DOM访问
    • 合理设计事件监听器

  • 图片方面
    • 优化图片:根据实际颜色需要选择色深、压缩
    • 优化css精灵
    • 不要在HTML中拉伸图片
    • 保证favicon.ico小并且可缓存

题目要点:

答题思路:列举常规的前端性能优化手段,并简要说明每项手段的目的。

1. 资源压缩:减小HTML、CSS、JavaScript文件体积。

2. 图片优化:压缩图片大小,使用适当的图片格式。

3. 利用浏览器缓存:通过设置缓存策略,减少重复资源加载。

4. CSS Sprites:合并多个图片,减少HTTP请求。

5. 延迟加载:对非关键资源使用懒加载,减少初始加载时间。

6. 异步脚本:使用async或defer属性异步加载JavaScript。

7. 减少HTTP请求:合并文件,减少请求次数。

8. 代码分割:将代码分割成多个小块,按需加载。

9. 使用CDN:加速静态资源的加载速度。

10. 网络优化:使用HTTP/2,减少传输延迟。

考察要点:对前端性能优化方法的了解和应用能力。