一些用户浏览统计
1.1秒内自由浏览
2.1 ~ 5秒,损失20%
3.5 ~ 8秒,损失50%
4.10秒99%
访问网站过程
1.DNS解析,找入口IP
a)检查本地Host是否有域名解析,无则继续下一步
b)将域名解析请求发送给本地的域名服务器
c)本地域名服务器收到请求后,查询本地缓存,如有纪录则直接返回结果,无则继续下一步
d)如本地缓存中无此纪录,则本地域名服务器就发请求到根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址
e)本地服务器向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如无该纪录,则返回相关的下级的域名服务器的地址
f)重复(e),直到找到正确的纪录
g)本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机
2.请求入口服务器
a)如果有多层,则转发请求到节点服务器,可举例说明
3.建立连接,发送请求(Header),等待响应,返回数据读取Cache,处理数据,渲染元素
前端优化网站性能
1.减少DNS查询
a)减少域名的数量
2.减少带宽
a)删除文件内容注释,gzip压缩JS,CSS,HTML,不要压缩图片
b)缓存文件,设置Expire或Cache-Control,特别是不常变化的文件
3.减少连接数(不同浏览器同时最多支持2-4连接)
a)多个小图标合并为1个图片
b)使用多个域名
4.减少解析时间
a)减少冗余DOM元素,JS访问DOM较慢,标签要有始终
b)指定图片尺寸大小
c)将JS尽量放在底部,CSS放在头部,快速表现
d)避免使用CSS表达式,运算频率高
5.减少等待时间
a)动态内容使用Ajax异步读取
b)静态文件使用无cookie域名,带宽、存储和解析
推荐工具:HttpWatch,FireBug,Yslow