我们访问网站的时候,会对服务器发出HTTP请求,网站打开的速度快慢与页面的大小有关外,还有个重要的因素就是HTTP的请求数。尽量减少页面的HTTP请求,可以提高页面载入速度。
![如何减少页面的HTTP请求 - 以德糊人 - ——挨踢民工 Playkid—— 如何减少页面的HTTP请求 - 以德糊人 - ——挨踢民工 Playkid——](http://img3.ph.126.net/_-7gYde9jGVC7OGc6tEjQw==/6597743767284298633.jpg)
减少页面中的元素
网页中的的图片、form、flash等等元素都会发出HTTP请求,尽可能的减少页面中非必要的元素,可以减少HTTP请求的次数。
图片地图(Image Maps)
也就是图像热点,图像地图就是把一张图片分成若干区域,每个区域指向不同的URL地址,这些区域也称为热点。Image Maps只适用于连续的图标。
CSS Sprites(CSS精灵)
图片是增加HTTP请求的最大可能者,把全站的图标都放在一个图像文件中,然后用CSS的background-image和background-position属性定位来显示其中的一小部分。
这种方法把CSS写到HMTL文件里,而不采用外部调用,与Div+CSS中「表现与内容分离、把CSS都立出来」相悖,缺点就是不利于SEO;当然,从整体上减少HTTP请求、提高页面载入速度,是有利于SEO的。
JS文件和CSS文件只有一个
合并脚本和CSS文件,可以减少了HTTP请求。有的人喜欢把CSS分成结构清晰的几个部分,比如base.css、header.css、mianbody.css、 footer.css这样对页面的维护和修改是比较方便的,但是对加快服务器响应时间就存在问题了。
少用location.reload()
使用location.reload() 会刷新页面,刷新页面时页面所有资源(css,js,img等)会重新请求服务器。
建议使用location.href="当前页url" 代替location.reload() ,使用location.href 浏览器会读取本地缓存资源。
动态页面静态化
动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页。
用户访问动态页面需要与数据库服务器进行数据交换。动态页面静态化,也就是把动态网页生成HTML文件,用空间换效率。