从前端角度来看高性能网站建设的几个原则

我对于Web网站开发开有很多年的实践经验,提供网站相应速度一直是网站开发人员孜孜不倦的追求,无论后端程序的优化,数据库的优化,还是前端的优化,最终目的只有一个,让网站更快的打开,给用户提供更好的浏览体验,这里只介绍从前端人员的角度来,在网站建设中要注意的一些原则

logo.jpg

1、减少网站的HTTP请求数

构造请求、等待响应需要时间,因此请求数量越少越好,减少请求的总体思路就是合并资源,减少显示一个页面需要的文件数,常规的方法有:

1.1 Image Map

通过设置<img>标签的usemap属性与使用<map>标签可以在一幅图片上切分出多个区域,指向不同的链接。比起使用多幅图片分别构造链接减少了请求数。

1.2. CSS Sprite(CSS贴图整合/贴图拼合/贴图定位)

通过设置元素的background-position样式做到。一般用于界面图标。典型的可以参考TinyMCE编辑器上方的那些小按钮。多个小图实质是从一个统一的大图通过不同的偏移量裁剪而来,这样加载界面上的众多按钮实际上只要请求一次(请求大图一次),从而减少HTTP请求数。

2、 使用Gzip压缩
使用Gzip压缩HTTP报文,减小体积,减少传输时间。
3、 将css样式表文件置于页面前部

先加载样式表,这样页面渲染得以较早开始,给用户页面加载较快的感觉,所以css最好放在<head></head>之间。

4、将Js脚本放在页面底部

原因同3,先处理页面显示,页面渲染较早完成,而脚本逻辑稍后执行,这样给用户页面加载较快的感觉。

5、避免使用CSS表达式

过于复杂的JavaScript脚本逻辑、DOM查找、选择操作将会降低页面处理效率。
6、将JavaScript与CSS作为外联资源
这似乎与原则1中的合并思想相悖,但其实不然:考虑每个页面都引入了一个公共的JavaScript资源(例如jQuery或是ExtJS这样的JavaScript库),单就一个页面的表现来看,内联(即将JavaScript嵌入HTML)页面将比外联(使用<script>标签引入)页面加载更快(因为其较少的HTTP请求数)。但如果有很多页面都引入了这个公共JavaScript资源,那么内联方案会造成重复传输(因为这个资源内嵌在每个页面中了,所以每次打开一个页面都要将这部分资源传输一遍,从而造成网络传输资源的浪费)。而将这种资源独立出来外联引用可以解决这个问题。

6、减少域名

每次请求新域名都需要进行通过DNS查找不同的域名,且DNS缓存无法发挥作用。因此应该尽量将站点组织在一个统一域名下,避免使用过多子域名,网站保留一个主域名即可。

7、 压缩你的JavaScript

使用JS压缩工具压缩你的JavaScript吧,很有效哦。看看jQuery的两个不同的发行版本就知道区别了:

jquery-1.6.2.js jQuery未压缩代码大小,230KB

jquery-1.6.2.min.js 压缩版jQuery代码大小:89.4KB

8、 尽量http避免重定向

一次重定向意味着在你真正访问到想要看到的页面前加入了一轮额外的HTTP请求(客户端发起HTTP请求→HTTP服务器返回重定向响应→客户端对新URL发起请求→HTTP服务器返回内容,下划线部分为额外的请求),因此消耗更多的时间(也就给人反应更慢的感觉)。因此除非必要,不要随意使用重定向,如果有下面的需求,可以采用重定向。

8.1. 避免URL失效

旧站点迁移后,为了避免旧的URL失效,通常将对旧URL的请求重定向至新系统的对应地址。

8.2. URL美化/伪静态

在可读性好的URL与实际资源URL之间转换
9、移除重复的脚本

不要在一个页面中重复引入相同的脚本。例如脚本B和C都依赖于A,那么在使用了B和C的页面中就有可能存在对A的重复引用。解决方法,对于简单的站点手动检查依赖性,消去重复引入;对于复杂的站点则需要构建自己的依赖管理/版本控制机制。

总结:在网站制作时候把握上面9个原则,可以让我们前端页面速度和响应速度更快,网站建设中是一门比较精细的技术,希望从事前端开发的网页设计师可以知道更多的基础知识。

相关文档
28 2019-01
律师所网站建设及律师网站模板整理 律师网站建设的内部系统可以分为很多,根据栏目页的设定可以有不同的系统,而且随着时代的发展以及互联网技术的不断更新,各方面系统管理也在升级,网站建设者或是管理者需要不断的对网站进行优化,使得符合时代发展的要求,与时俱进,才能保证律师网站的持续
28 2019-01
网站制作中javascript代码如何优化 现在网站中有很多炫酷的特效,以前很多都是采用flash技术,由于html5和css3的发展,加上手机网站对flash技术的不支持,所以现在网站上的一些效果基本都是javascript来实现。 JavaScript是通常用来创建交互式网页,J
27 2019-01
网站建设中手机网站的重要性 现在很多网站,包含政府,学校,企业网站都没有针对移动端的网站,现在已经不是pc时代了,移动互联时代很多人都是用手机浏览网站,在一些特殊的行业,如商城,娱乐,餐饮类网站,90%的流量都是来源于手机端,如果pc和手机网站都要做的话,以后更新和维
27 2019-01
自己建网站怎么选择服务器 很多用户在建网站时候,大部分都是先在自己的电脑上安装web环境,然后安装网站管理系统来做网站,因为本机操作的好处是修改内容,尤其修改模板,改文件什么的都方便很多,等网站制作完后再选择服务器上传到服务器安装,很多用户不注意服务器的选择,其实网
26 2019-01
服务型政府网站建设解决方案 自上世纪90年代以来,信息技术发展所谓日新月异,引发了政府行政管理模式的一场深刻变革,其典型代表就是将技术创新与政府管理创新相结合的政府网站建设,为公众提供公开、透明、高效便捷的公共服务,并自觉接受社会的监督。 1、我国服务型政府网站建设存
25 2019-01
怎么提高网站打开相应速度 很多用户会发现做网站发布到服务器上后访问速度很慢,这个对网站来说是个致命伤,网站相应速度慢,即使网站做的很漂亮,内容很完整,客户打开蜗牛一样的也会失去耐心,可能直接关闭网站离开,这样就导致用户流失,最后发现网站每天都没有人访问了,那么,如果