提升网站页面速度的14条最佳实践(一)

栏目: 服务器 · Apache · 发布时间: 6年前

内容简介:一直忙于工作,最近这段时间终于可以静下心来细读一些与工作相关的书籍。本篇文章是《高性能网站建设指南》一书的梳理。希望自己收获的同时,也能给对这块知识感兴趣的童鞋给与入门指导。关于《高性能网站建设指南》的梳理共有两部分内容,本篇为第一部分。第二部分见提升网站页面速度的14条最佳实践(二)。

一直忙于工作,最近这段时间终于可以静下心来细读一些与工作相关的书籍。本篇文章是《高性能网站建设指南》一书的梳理。

希望自己收获的同时,也能给对这块知识感兴趣的童鞋给与入门指导。

关于《高性能网站建设指南》的梳理共有两部分内容,本篇为第一部分。第二部分见提升网站页面速度的14条最佳实践(二)。

《高性能网站建设指南》一书共列举了14条提升网站速度的方法,本篇就前7种进行总结。

一、减少http请求

1.图片地图

2.CSS Sprites

3.内联图片

4.合并脚本和样式表

二、使用内容发布网络

内容发布网络(CDN)是一组分布在不同地理位置的web服务器,用于更加有效地像用户发布内容。即利用就近原则,响应发送给用户需要的数据,进而缩短响应时间,来提高网站性能。

三、添加Expires头

浏览器(和代理)使用缓存来减少HTTP请求的数量,并减少HTTP响应的大小,使web页面加载得更快。web服务器使用Expires头来告诉web客户端它可以使用一个组件的当前副本。

注意:Expires头使用的是一个特定的时间,它要求客户端与服务器的时钟严格同步,一旦两个时间统一,Expires头的时间将没有意义。

为了解决Expires头的限制,HTTP1.1 引入了Cache-Control使用max-age指令指定组件缓存多久。它以秒为单位定义更新窗。如果从组件请求开始过去的秒数小于max-age,浏览器就可以使用缓存的版本。

注意:
    1.在小于HTTP1.1版本之前仍需要设置Expires头,为了做更好的兼容,最好同时使用HTTP1.1和max-age,在支持max-age的版本中,如果两者同时存在max-age会重写Expires头。
    2.利用Apache模块mod_expires可以使Expires头能够像max-age那样以相对的方式设置日期。通过Expires_Default指令来实现。时间可以用年/月/周/日/时/分/秒为单位来设置。

四、压缩组件

1.从HTTP1.1开始,web客户端可以通过HTTP请求中的Accept-Encoding头来识别对压缩的支持。

Accept-Encoding:gzip,deflate;

2.配置

a.Apache1.3的gzip压缩由mod_gzip模块提供

b.Apache2.x中压缩通过mod_deflate模块来完成。

3.代理缓存

在Web服务器的响应中添加Vary头。Web服务器可以告诉代理根据一个或者多个请求头来改变缓存的响应。

Vary:Accept-Encoding

这种情况下代理服务器会缓存每个响应的两个版本——Accept-Encoding为gzip时的压缩内容和没指定Accept-Encoding时的非压缩内容。

五、将样式表放在顶部

由于浏览器总是在样式表加载并解析完之后才会绘制页面内容,所以把样式表放在底部才会出现白屏或者无样式内容的闪烁问题。

六、将脚本放在页面底部

浏览器总是从上到下执行页面内容,如果将脚本放置在页面顶部,则在加载脚本的这段时间内,页面的内容呈现将被阻塞!

七、避免css表达式

css表达式也会影响页面的加载时间。如果必须要在页面加载记载的时候对css样式进行重置,可以考虑使用时间处理器来代替css表达式。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网站项目管理

网站项目管理

[美] 阿什利·弗里德莱因 / 李保庆、杨磊、王增东 / 电子工业出版社 / 2002-11 / 32.00元

这本书全方位地介绍了如何建立和最终交付一个具有很高商业价值的成功网站,讲解从项目管理的角度入手,撇开烦琐的技术细节,更加关注Web项目实施中诸如成本、进度、工作范围等问题,涉及了一个商业网站在实施过程中可能遇到的所有管理细节。书内附国际一流网站开发专家的深邃见解;涵盖了网络项目管理的关键原则及案例研究;通过友情链接,还为读者提供了模板、论坛、术语表、相关链接以及有关因特网知识的测验题。一起来看看 《网站项目管理》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试