性能优化

# 性能优化 #      参考书: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