说说常规的前端性能优化手段
参考答案:
- 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,减少传输延迟。
考察要点:对前端性能优化方法的了解和应用能力。