高性能网站建设

规则一:减少HTTP请求
只有10%-20%的最终用户响应时间花在接收所请求的文档上,剩下的80%-90%时间花在为html文档所引用的所有组件(图片、脚本、样式表、Flash等)进行的HTTP请求上。因此,改善响应时间的最简单途径就是减少组件的数量,并由此减少HTTP请求的数量。
方法:(1)图片地图(2)CSS Sprites(3)内联图片和脚本(4)样式表的合并

规则二:使用内容发布网络
缩短客户与服务器的距离。

规则三:添加EXPIRS头
添加expirs头可以使html组件被浏览器缓存,避免不必要的http请求。 它告诉浏览器可以使用一个本地的副本,直到她过期。http1.1中引入cache-control来取代expris,cache-control的max-age可以指定组件可以被缓存多久,是一个相对时间。
若即没有使用expirs也没有使用cache-control,http会发送请求时会检查本地副本的修改时间(if-modify-since)并发送给服务器,如果组件自生成日期来没有改变过,服务器会返回一个304 not modify状态码,并不在发送响应实体

规则四:压缩组件(GZIP COMPONENTS)
参考文章 tomcat下配置gzip,以及springside 的gzip例子

规则五:将样式表放在顶部(put stylesheets at the top)

规则六:将脚本放在底部(put Scripts at the Bottom) 脚本的下载会阻塞html的呈现
在下载脚本时并行下载实际上是被禁用的-即使使用了不同的主机名,浏览器也不会启动其它的下载,其中一个原因是,脚本可能使用documentv.write来修改页面内容,因此浏览器会等待,确保页面能恰当的布局;另一个原因是为了保证脚本能够按照正确的顺序执行。如果并行下载多个脚本,就无法保证响应是按照特定顺序到达浏览器的。
脚本会阻塞对其后面内容的呈现
脚本会阻塞其后面组件的下载
除了可以将脚本放底部还可以 ,使用延迟脚本(Deffrred)。DEFER属性表明脚本不包含documentv.write,浏览器得到这一线索就可以继续呈现
<script src="/bin/sleep.cgi?type=js&sleep=10&expires=-1&last=0" defer></script>

规则七:避免CSS表达式 (Avoid CSS Expressions)

规则八:使用外部javascript和CSS (make javascript and css external)
纯粹而言,内联快一些,但是javascript和css文件有机会被浏览器缓存起来。hmtl文档至少是包含动态的html文档通常不会被配置为可以进行缓存。当遇到这情况,每次请求html文档都要下载内联的javascript和css。另一方面,如果css和script是外部文件,浏览器能缓存它们,html文档的大小减小,而且不会增加http请求数量。 关键点:需要权衡内联与外联。

规则九:减少DNS查找
浏览器和操作系统也可以缓存DNS 信息

规则十:精简javascript

规则十一:避免重定向

规则十二:移除重复脚本

规则十三:配置ETAG
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值