# 性能优化 # 参考书:1.高性能网站建设指南 2.高性能网站建设进阶指南
---
性能优化能够从如下几个方面来优化:
1、网络
一、DNS. 域名解析服务器
二、CDN. 内容发布网络 将静态资源以外的放在主服务器,
配置不一样的服务器,缩短距离
三、加载:延时和预加载
2、浏览器
一、http:超文本传输协议
https:安全传输协议 效率不高,耗时高些
二、请求和响应信息:
请求信息:
1>请求行:
http协议版本信息(1.1/1.0),
请求方法:get/post,
路径等
2>请求头:
浏览器版本信息等
3>空行
4>请求参数
响应信息:
1>状态行: 状态码等
2>响应头:服务器和浏览器之间的通信、缓存、cookie等
3>空行
4>响应消息体:呈如今页面的
缓存(cache):最佳的解决方案
304页面没有发生任何修改(协议缓存);
能够给静态资源等不多改的东西,设定一个缓存时间expires,解决频繁的访问,减小请求的时间
解决缓存更新的问题:
1>设定LastModified 最后修改时间
2>E-Tag 数字加字母的标识的字符串
3>加一种算法根据内容的索引产生的数字
3、代码
一、html
布局:减小table布局;尽可能减小嵌套层数
二、css
a、选择器:尽可能减小复合选择器,由于浏览器从右往左解析
b、雪碧图:sprits技术(图片分割技术),不能太大
c、合并和压缩:空格和回车的减小;合成一个css
d、重绘和回流:回流:改变某个标签的样式,影响其余标签(如:宽高,字体大小等)
浏览器内核即渲染引擎,解析DOM和css,两个树。减小回流次数
e、简单的动画可使用css3来代替js
f、图标字体
三、js
a、节点缓存,减小DOM操做
b、合并和压缩
四、image
a、合并和压缩
b、将图片转化为base64
合并和压缩,雪碧图可使用自动化构建工具Gruntjs和相应插件 css