减少http请求
性能黄金法则
只有10%-20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图片,script,css,flash等等)进行的HTTP请求上。
改善响应时间的最简单途径就是减少组件的数量,井由此减少HTTP请求的数量。
实现
<map><area>标签</area></map>
-
CSSSprites
CSSSprites中文翻译为CSS精灵,通过使用合并图片,通过指定css的backgroud-image和backgroud-position来显示元素。
backgroud-position属性
backgroud-position:x y;
x和y可以写负值也可以写正值,我们可以想象图片的左上方为(0,0),以(0,0)坐标向右是为负数的x轴,以(0,0)坐标向下是为负数的y轴。
图片地图与cSS精灵的响应时间基本上相同,但比使用各自独立图片的方式要快50%以上. -
合井脚本和样式表
使用外部的js和css文件引用的方式,因为这要比直接写在页面中性能要更好一点
独立的一个js比用多个js文件组成的页面载入要快38%.把多个脚本合井为一个脚本,把多个样式表合并为一个样式表。 -
图片使用Base64编码减少页面请求数,采用Base64的编码方式将图片直接嵌入到网页中,而不是从外部载入。
-
图片地图将多个图片合井为一张图片,然后以位置信息定位超链接。把HTTP请求减少为一个,可以保证设计的完整性和功能的齐全性
浏览器缓存
缓存分类
HTTP缓存模型中,如果请求成功会有三种情况.
- 200 from cache:直接从本地缓存中获取响应,最快速,最省流量,因为根本没有向服务器发送请求
- 304 NotModified:协商缓存,浏览器在本地没有命中的情况下,请求头中发送一定的校验数据到服务端,如果服务端数据没有改变,浏览器从本地缓存响应,返回304.快速,发送的数据很少,只返回一些基本的响应头信息,数据量很
小,不发送实际响应体 - 200 OK:以上两种缓存全都失败,服务器返回完整响应。没有用
到缓存,相对最慢。
独立图片服务器
分 担 Web 服 务 器 的 I / 0 负 载 · 将 耗 费 资 源 的 图 片 服 务 分 离 出 来 , 提 高 服 务 器 的 性 能 和 稳 定 性 。
能 够 专 门 对 图 片 服 务 器 进 行 优 化 · 为 图 片 服 务 设 置 有 针 对 性 的 缓 存 方 案 , 减 少 带 宽 成 本 , 提 高 访 问 速 度 。
提 高 网 站 的 可 扩 展 性 . 通 过 增 加 图 片 服 务 器 , 提 高 图 片 吞 吐 能 力 。
采 用 独 立 域 名
同一 域 名 下 浏 览 器 的 发 连 接 数 有 限 制 ,无法 突 破 浏 览 器 连 接 数 的 限 制 ,由于cookie的 原 因 , 对 缓 存 不 利 , 大 部 分 Web cache 都 只 缓 存 不 带 cookie 的 请 求 , 导 致 每 次 的 图 片 请 求 都 不 能 命 中chache。
以上内容参考来自www.cnblogs.com/qinsilandia…