如何进行网站性能优化
content方面减少
HTTP请求:合并文件、CSS精灵、inline Image减少
DNS查询:DNS缓存、将资源分布到恰当数量的主机名减少
DOM元素数量Server方面使用
CDN配置
ETag对组件使用
Gzip压缩Cookie方面减小
cookie大小css方面将样式表放到页面顶部
不使用
CSS表达式使用
<link>不使用@importJavascript方面将脚本放到页面底部
将
javascript和css从外部引入压缩
javascript和css删除不需要的脚本
减少
DOM访问图片方面
优化图片:根据实际颜色需要选择色深、压缩
优化
css精灵不要在
HTML中拉伸图片
你有用过哪些前端性能优化的方法?
- 减少
http请求次数:CSS Sprites,JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器。 - 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存
AJAX请求结果,每次操作本地变量,不用请求,减少请求次数 - 用
innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。 - 当需要设置的样式很多时设置
className而不是直接操作style - 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作
- 避免使用
CSS Expression(css表达式)又称Dynamic properties(动态属性) - 图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳
- 避免在页面的主体布局中使用
table,table要等其中的内容完全下载之后才会显示出来,显示比div+css布局慢
谈谈性能优化问题
- 代码层面:避免使用
css表达式,避免使用高级选择器,通配选择器 - 缓存利用:缓存
Ajax,使用CDN,使用外部js和css文件以便缓存,添加Expires头,服务端配置Etag,减少DNS查找等 - 请求数量:合并样式和脚本,使用
css图片精灵,初始首屏之外的图片资源按需加载,静态资源延迟加载 - 请求带宽:压缩文件,开启
GZIP
前端性能优化最佳实践?
- 性能评级工具(
PageSpeed或YSlow) - 合理设置
HTTP缓存:Expires与Cache-control - 静态资源打包,开启 Gzip 压缩(节省响应流量)
CSS3模拟图像,图标basic64(降低请求数)- 模块延迟(defer)加载/异步(
async)加载 Cookie隔离(节省请求流量)localStorage(本地存储)- 使用
CDN加速(访问最近服务器) - 启用
HTTP/2(多路复用,并行加载) - 前端自动化(
gulp/webpack)