查询Cache:读取Cache 或者发送304请求css
DNS缓存html
浏览器DNS缓存 计算机DNS缓存 服务器DNS缓存(TTL)前端
使用Keep-Alive特性
减小DNS查找web
当客户端的DNS缓存为空时,DNS查找的数量与Web页面中惟一主机名的数量相等。减小惟一主机名的数量就能够减小DNS查找的数量。数据库
较少的域名来减小DNS查找(2-4个主机)浏览器
美国十大Internet网站和CDN服务提供商缓存
页面静态化,取决于发布系统服务器
Ctrip使用的China-Cache和网宿网络
按页面内容划分域名,在合适的资源服务器上存放文件模块化
HTTP请求30-40,合并文件,图片地图,内联图像
a)js文件(不超过7个)
不含ga.js、uiscript.asp和外链其余网站的js
c) 目前没法解决的是allyes广告的请求数。
这个只能从设计上搞定,须要权衡
图片地图 Ctrip首页例子
即时内容为空,加载也须要时间、会阻止页面加载
HTML文档、脚本和样式表、XML和JSON的文本响应 压缩如何工做
压缩一般能将响应的数据量减小将近70%
从代码中移除没必要要的字符以减小其大小,减小加载时间。
页面必须小于150K(不含图片)
a) 静态文件是否gzip
b) 图片是否压缩优化过
应用于不常常变化的组件,包括脚本、样式表、Flash组件、图片
Expires和Cache-Control
尽量使用外部Js和Css,由于咱们目前大部分Js和Css都作了Gzip和缓存技术,能够充分利用。
不要对image和pdf等二进制文件进行gzip压缩
界面原型页面必须将样式表置于页面顶部,开发人员如无特殊缘由也必须将样式表置于顶部。
以往多数是由于masterpage缘由没法将全部样式表置顶,在改版修改masterpage时,尽量按照此原则进行设计。
通常浏览器能够容许并行下载,取决于主机个数、带宽等
(默认状况下,IE是2个而FF是8个)
下载脚本时并行下载其实是被禁用的。
必须为0
影响浏览器渲染时间
尽可能使用GIF和PNG
尽可能使用png/gif格式的图片,png的图片优先,可是必须注意如要兼容IE6,则png使用必定要注意透明问题。
图片在上次前必定要先用工具压缩优化(png、jpg)
大型的项目在前端 JS 方面有几个须要达成的目标:
推荐书籍
Steve Souders (Yahoo! Chief Performance)
Greyhound 灵缇犬 (世界上跑的最快的狗)