高性能网站建设学习笔记----减少图片请求

1、图片地图:

将多张图片合并为一张图片,通过img标签的usemap来定义该张图片显示的区域

<img usemap="#map1" border=0 src="a.gif">

<map name="map1">

    <area shape="rect" coords="12,4,32,31" href="home.html" title="home"/>

    <area shape="rect" coords="39,0,66,31" href="color.html" title="color"/>

    <area shape="rect" coords="71,23,1,12" href="car.html" title="car"/>

</map> 

shape:定义图片的形状

coords:要定义的图片所在区域坐标

href:链接地址

title:tips

图片地图的缺点在于难以定位所需图片的区域,而且除了矩形之外几乎无法定义其他形状,图片必须是连续的图,例如

2、css sprite

以css更为灵活的方式实现图片地图的效果

通过background-position属性指定css sprite偏移量来定位图片区域,图片不必是连续的,可以在任意位置

3、内联图片

通过data:URL模式可以在web页面中包含图片但无需任何额外的http请求。IE目前不支持这种方式。

data:URL模式:允许将小块数据内联为“立即数”,数据就在其自身的url中。格式为--data:[<mediatype>][;base64],[data]

<img src="data:image/gif;base64,.....">

4、合并样式表和脚本文件

5、添加expires头(非第一次访问)

web服务器通过expires头来告诉客户端它可以使用一个组件的缓存副本,直至某个时间为止。Expires:Thu, 15 Apr 2011 21:00:00 GMT

缺点:客户端与服务器端时间需同步

        过期日期需检查,防止日期失效,失效后要更改为一个新的日期

6、Cache-Control头(http1.1,克服expires头的限制)(非第一次访问)

     Cache-Control:max-age=320000000000

     max-age用来指定从请求开始过去小于320000000000秒时间内将使用缓存副本。

7、mod_expires Apache(非第一次访问)

     在使用Expires头时能够像max-age那样以相对的方式设置日期,它同时在相应中发送Expires头和Cache-Control max-age头

     格式: ExpiresDefault "<base> [plus] {<num> <type>}*"

当文件做出改变时,客户端将如何获取更新呢?修改文件名。将文件名作为变量来嵌入html中。

posted @ 2011-04-05 23:07  瑞欧儿  阅读(163)  评论(0编辑  收藏  举报