很多实验研究表明,用户最满意的打开网页时间,是在2秒以下,这种感觉就是我们一点击一个链接,网页一瞬间就展现出来了。而用户能够忍受的最长等待时间大约在 6~8秒之间。8秒是一个临界值,如果网页加载时间在8秒以上,很有可能大部分访问者最终都会离开该页面。除非他一定要打开那个页面
1. 尽量减少页面中重复的 HTTP 请求数量比较直接的理解就是要减少调用其他页面、文件的数量。我们在使用 css 格式控制的时候,经常会采用 background 载入很多图形文件,而每个 background 的图像都会产生 1 次 HTTP 请求,一般我们为了让页面生动活泼会大量使用 background 来加载背景图,要改善这个状况,可以采 用 css 的 1 个有用的 background-position 属 性来加载背景图,我们将需要频繁加载的多个图片合成为 1 个单独的图片,需要加载时可以采用: background:url(....)no-repeat x-offset y-offset; 的形式加载即可将这部分图片加载的 HTTP 请求缩减为 1 个。
2. 服务器开启 gzip 压缩
即将需要传输的内容压缩后传输到客户端再解压,这样在网络上传输的 数据量就会大幅减小。通常在服务器上的 Apache 、 Nginx 可以直接开启这个设置,也可以从代码角度直接设置传输文件头,增加 gzip 的设置,也可以 从 负载均衡设备直接设置。不过需要留意的是,这个设置会略微增加服务器的负担。建议服务器性能不是很好的网站,要慎重考虑。
3. css 样式的定义放置在文件头部
4. Javascript 脚本放在文件末尾
我们都知道网页文件的载人是从上到下的加载的,而有很多 Javascript 脚本执行效率比较低下,或者在网页前面都不需要执行的,如果将这些脚本放置到 页面比较靠前的位置,很可能会导致网站内容载入速度下降甚至无 ** 常加载,所以一般将这些脚本放置在网页文件末尾,一定要放 置在前面的脚本要改用所谓的 “ 后载入 ” 方式加载,在主体网页加载完成后再加载,防止其影响到主体网页的加载速度。
5. 压缩 Javascript 、 CSS 代码
一般 js 、 css 文件中存在大量的空格、换行、注释,这些利于阅读,如果能够压缩掉,将会很有利于网络传输。这方面的工具也有很多,可以在百度里搜索一下 关键字 “css 代码压缩 ” ,或者 “js 代码压缩 ” 将会发现有很多网站都提供这样的功能,当然了你也可以自己写程序来做这个工作,如果你会的话。就拿我们这 个网站来说吧。刚开始上传这个网站的时候,我的很多 Css 代码都没有压缩,后面发现了这个问题,我就上网找了相关的网站的压缩代码的功能,最后就把很多 CSS 文件都压缩了。这个压缩比率还是比较高的,一般都有 50% 左右。由此可见,这个代码压缩对于网页的加载还是很有用的。
6. Ajax 采用缓存调用
Ajax 调用都采用缓存调用方式,一般采用附加特征参数方式实现,注意其中的 <scriptsrc=”xxx.js?{VERHASH}” , {VERHASH} 就是特征参数,这个参数不变化就使用缓存文件,如果发生变化则重新下载新文件或更新信息。
7. 尽可能减少 DCOM 元素
这个很好理解,就是尽可能减少网页中各种 <> 元素数量,例如 <table> 的冗余很严重,而我们完全可以用 <div> 取代之。
8. 使用多域名负载网页内的多个文件、图片:1、突破浏览器并发限制 (你随便挑一个 G家的 url: https://lh4.googleusercontent.com/-si4dh2myPWk/T81YkSi__AI/AAAAAAAAQ5o/LlwbBRpp58Q/w497-h373/IMG_20120603_163233.jpg,把前面的 lh4换成 lh3,lh6啥的,都照样能够访问,像地图之类的需要大量并发下载图片的站点,这个非常重要。)节约主域名的连接数,从而提高客户端网络带宽的利用率,优化页面响应。因为老的浏览器(IE6是典型),针对同一个域名只允许同时保持两个HTTP连接。将图片等资源请求分配到其他域名上,避免了大图片之类的并不一定重要的内容阻塞住主域名上其他后续资源的连接(比如ajax请求),静态内容和动态内容分服务器存放,使用不同的服务器处理请求。处理动态内容的只处理动态内容,不处理别的,提高效率。用户请求是多域名是并行下载,速度上更快
转载于:https://blog.51cto.com/eadonlearning/1334446