性能优化的目的:
-
增强用户体验。但是这样说很虚,具体来说可以是:
1.1. 加快页面展示速度(慢)
1.2. 加快页面运行速度(卡)
节约服务器带宽流量
减少服务器压力
一个网页的大概流程:
1、到DNS上查询
2、然后发送请求
3、等待服务器响应
4、下载服务器响应内容
5、解析HTML、CSS、JS等
6、渲染HTML、CSS、JS、图片等
7、响应用户点击事件
1、 DNS 查询——减少网页所用的域名个数,可以减少 DNS 查询的时间
2、 发送请求——添加缓存、合并文件,都可以减少请求数量
3、等待服务器响应——这一步的优化只能是在 MySQL 和后台方面做考虑了
4、下载服务器响应内容——添加 Etag、Expires 响应头,得到 304 响应,可以降低下载量
5、解析 HTML、CSS、JS 等——去掉无用的 HTML、CSS 和 JS 即可减少解析时间
6、渲染 HTML、CSS、JS 和图片等——避免使用低效的 HTML、CSS 和 JS 即可
7、 响应用户的点击事件等——尽量不在前端做复杂的运算等……
性能优化:
html部分,标签语义化、正确的html结构
css部分,图片整合,css选择器的使用
js部分,减少全部变量的使用,高性能js代码
减少http请求次数;减少dom操作,再发布之前将js和css文件进行压缩合并等。
一个HTTP报文由3部分组成,分别是:
(1)、起始行(start line)
(2)、首部(header)
(3)、主体(body)
就是客户端向服务器端发送请求,然后服务器端响应回来
兼容:
IE和标准下有哪些兼容性的写法
var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
var target = ev.srcElement||ev.target