`

34条网站加速方法

阅读更多

  1.Minimize HTTP Requests 减少HTTP请求
  图片、css、script、flash等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间。把多个JS、CSS在可能的情况下写进一个文件,页面里直接写入图片也是不好的做法,应该写进CSS里,利用 CSS sprites 将小图拼合后利用background来定位。
  2.Use a Content Delivery Network 利用CDN技术
  CDN 确实是好东西,8过服务器提供商的这项服务一般是要收费的,我以前买的国内空间是有这个的但是我当时根本不知道啥用,现在没了。。。
  3.Add an Expires or a Cache-Control Header 设置头文件过期或者静态缓存
  浏览器会用缓存来减少http请求数来加快页面加载的时间,如果页面头部加一个很长的过期时间,浏览器就会一直缓存页面里的元素。不过这样如果页面里的东西变动的话就要改名字了,否则用户端不会主动刷新,看自己衡量了~ 这项可以通过修改.htaccess文件来实现。
  4.Gzip Components Gzip压缩
  Gzip格式是一种很普遍的压缩技术,几乎所有的浏览器都有解压Gzip格式的能力,而且它可以压缩的比例非常大,一般压缩率为85%。压缩没压缩,可以到 这里 做下测试。
  5.Put Stylesheets at the Top 把CSS放顶部
  让浏览者能尽早的看到网站的完整样式。
  6.Put Scripts at the Bottom 把JS放底部
  网站呈现完毕后再进行功能设置,当然这些JS要在你的加载过程中不影响内容表现。


  7.Avoid CSS Expressions 避免CSS Expressions
  CSS表达式很可怕,这个只被IE支持的东西执行时候的运算量非常大,你移动一下鼠标它都要进行重计算的,但有时候为了做浏览器的兼容必须要用到这个||| IE6去死去死!~
  8.Make JavaScript and CSS External 将JS和CSS外链
  前面讲到了缓存这个事情,一些较为公用的JS和CSS,我们可以使用外链的形式,譬如我就是从Google外链来的Jquery文件,如果我的浏览者在浏览别的使用了这个外链文件的网站时已经下载并缓存了这个文件,那么他在浏览我的网站的时候就不需要再进行下载了!~
  9.Reduce DNS Lookups 减少DNS查找
  貌似是要减少网站从外部调用资源,我的Google分析和picasa的外链图片都算在里面了。
  10.Minify JavaScript and CSS 减小JS和CSS的体积
  写JS和CSS都是有技巧的,用最少的代码实现同样的功能,减少空白,增强逻辑性,用缩写方式等等,当然也有不少工具也能够帮你实现这一点。
  11. Avoid Redirects 避免重定向
  再写入链接时,虽然”http://www. today-s-ooxx. com”和”http://www. today-s-ooxx. com/” 仅有一个最后的”/”只差,但是结果是不同的,服务器需要花时间把前者重定向为后者然后进行跳转,这个要自己注意,也可以在Apache里用Alias 或者mod_rewrite或者DirectorySlash解决。
  12. Remove Duplicate Scripts 删除重复脚本
  重复调用的代码浏览器并不会识别忽略,而是会再次运算一遍,这当然是大大的浪费。
  13. Configure ETags 配置ETags
  搞不清楚咋回事,总之我是在. htaccess里把它删除了。
  14. Make Ajax Cacheable 缓存Ajax
  Ajax是实时响应的,在浏览器接收到新的数据前,旧的数据被缓存,这样能够更好的提高效率。
  15. Flush the Buffer Early 尽早的释放缓冲
  当用户进行页面请求时,服务器端需要花费200到500毫秒时间来拼合HTML,将写在head与body之间,释放缓冲,这样可以将文件头先发送出去,然后再发送文件内容,提高效率。
  16. Use GET for AJAX Requests 用GET方式进行AJAX请求
  Get 方法和服务器只有一次交互(发送数据),而 Post 要两次(发送头部再发送数据)。
  17. Post-load Components 延迟加载组件
  最先加载必须的组件进行页面初始化,然后再加载其他,YUI Image Loader 是很好的例子。
  18. Preload components 预加载组件
  提前加载以后可能用到的东西,和延迟加载并不冲突,它的目的是为后续请求提供更快的响应,参见Google首页上的CSS sprites应用。
  19. Reduce the Number of DOM Elements 减少DOM元素数量
  复杂的页面结构意味着更长的下载及响应时间,更合理更高效的使用标签来架构页面,是好的前端的必备条件。
  20. Split Components Across Domains 跨域分离组件
  页面组件多个来源可以增大你的平行下载量,但注意不要过多,超过2-4个域名会引起上面说到的DNS查找浪费。
  21. Minimize the Number of iframes 减少iframe数量
  需要更有效的利用 ifames。
  iframe 优点:有利于下载缓慢的广告等第三方内容,安全沙箱,并行下载脚本
  iframe 缺点:即使为空也会有较大资源消耗,会阻止页面的onload,非语义
  22. No 404s 不要出现404页面
  站点本身里(非搜索结果)出现404页面,无意义的404页面会影响用户体验并且会消耗服务器资源。
  23. Reduce Cookie Size 减小Cookie
  Cookie在服务器及浏览器之间的通过文件头进行交换,尽可能减小Cookie体积,设置合理的过期时间,能够很好的提高效率。
  24. Use Cookie-free Domains for Components 对组件使用无Cookie的域名
  对静态组件的Cookie读取是一种浪费,使用另一个无Cookie的域名来存放你的静态组件式一个好方法,或者也可以在Cookie中只存放带www的域名。
  25. Minimize DOM Access 减少DOM的访问次数
  JS访问DOM是很慢的,尽量不要用JS来设置页面布局。
  26. Develop Smart Event Handlers 开发灵活的事件处理句柄
  DOM树上过多的元素被加入事件句柄的话,反应效率肯定会低,YUI事件工具有一个 onAvailable 方法可以帮助你灵活的设置DOM事件句柄
  27. Choose < link >over @import 使用< link >而非 @import
  在IE中使用@import就和在页面底部用< link >一样,我们前面说要把< link >放顶部的。
  28. Avoid Filters 避免过滤器的使用
  如果需要Alpha透明,不要使用AlphaImageLoader,它效率低下而且只对IE6及以下的版本适用,用PNG8图片。如果你非要使用,加上_filter以免影响IE7+用户。
  29. Optimize Images 优化图片
  将你的GIF转为PNG8会是个减小体积的好办法,另外有很多方法处理你的JPG及PNG图片以达到优化效果。
  30. Optimize CSS Sprites 优化CSS Sprites
  在CSS Sprites中竖直并尽量紧凑的排列图片,尽量将颜色相似的图片排在一起,会减小图片本身的大小及提高页面图片显示速度。
  31. Don’t Scale Images in HTML 不要在HTML中缩放图片
  图片要用多大的就用多大的,1000X1000的图片被width=”100″ height=”100″以后,本身的KB数是不会减少的。
  32. Make favicon. ico Small and Cacheable 缩小favicon. ico的大小并缓存它
  站点的浏览器ICO应该不是经常换吧,那就长时间的缓存它,并且最好控制在1K以下。
  33. Keep Components under 25K 保证组件在25K以下
  iPhone不能缓存25K以上的组件,并且这还是要在被压缩前。
  34. Pack Components into a Multipart Document 将组件打包进一个多部分的文档中
  就好像在邮件中加入附件一样,一个HTTP请求就够了,但是这一技术需要确保你的代理支持,iPhone就不支持。

分享到:
评论

相关推荐

    雅虎给出的34条网站加速方法

    雅虎给出的34条网站加速方法

    雅虎给出的34条优化网站访问速度加快方法

    雅虎给出的34条优化网站访问速度加快方法.

    汽车驾驶教程图解

     起步时,关键是加速踏板(油门踏板)的踩踏板方法和离合器的回位方法。  *加速踏板的踩踏方法  加速踏板的踩踏量过小,离合器抬得过急,容易引起发动机熄火。相反,加速踏板的踩踏量踩得过大、离合器连接过急,...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    7.5 方法重载(overload):给汽车加速添个限制 168 7.5.1 什么是方法的签名 168 7.5.2 什么是重载?为什么要重载? 168 7.5.3 给汽车加个重载的方法 169 7.5.4 测试一下 169 7.5.5 重载容易引发误解的两个地方...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    7.5 方法重载(overload):给汽车加速添个限制 168 7.5.1 什么是方法的签名 168 7.5.2 什么是重载?为什么要重载? 168 7.5.3 给汽车加个重载的方法 169 7.5.4 测试一下 169 7.5.5 重载容易引发误解的两个地方...

    Windows 程序设计(第5版)(上、下册)--详细书签版

    10.3.2 安排加速键的几条规则 10.3.3 加速健表 10.3.4 加载加速键表 10.3.5 键盘代码转换 10.3.6 接收加速键消息 10.3.7 菜单与加速键应用程序poppad 10.3.8 启用菜单项 10.3.9 处理菜单项 ...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    第一条语句说明了对象 today 属于 Date 类,第二条语句说明了对象 myRectangle 属于 Rectangle 类。对象说明并没有体现一个具体的对象,只有通过实例化后的对 象才能被使用。 2. 实例化对象 实例化对象就是创建一个...

    php网络开发完全手册

    13.6.3 第三范式(3NF) 210 13.7 数据库设计的方法与步骤 210 13.7.1 需求分析 211 13.7.2 概念设计的E-R方法 214 13.7.3 数据库的逻辑设计方法 215 13.7.4 物理设计阶段 218 13.7.5 数据库的实施阶段 218 13.7.6 ...

    matlab经典教程全集

    第四章 MATLAB函数 --- 语音讯号分析 4.1 数学函数 4.1.1 常见数学函数 4.1.2 三角和双曲线函数 4.1.3 复数 4.1.4 多项式函数 4.2 数据分析函数 4.2.1 极值、平均、总和、连乘及排序 4.2.2 变异数 4.2.3 ...

    电脑系统优化大全

     十四、删去多余的Dll文件。在Window操作系统的System子目录里有许多的Dll文件,这些文件可能被许多文件共享,但有的却没有没有一个文件要使用它,也就是说这些文件没用了,为了不占用硬盘空间和提高启动运行速度,...

    《iPhone开发实战》.(Christopher Allen).pdf

    第四部分 使用sdk工具包编程 第16章 处理数据224 16.1 接收用户动作224 16.2 管理用户首选项225 16.2.1 创建自己的首选项226 16.2.2 使用系统设置230 16.3 打开文件234 16.3.1 访问软件包235 16.3.2...

    matlab入门教程简单与详细版本.rar

    第四章 MATLAB函数 --- 语音讯号分析 4.1 数学函数 4.1.1 常见数学函数 4.1.2 三角和双曲线函数 4.1.3 复数 4.1.4 多项式函数 4.2 数据分析函数 4.2.1 极值、平均、总和、连乘及排序 4.2.2 变异数 4.2.3 ...

    matlab入门教程

    第四章 MATLAB函数 --- 语音讯号分析 4.1 数学函数 4.1.1 常见数学函数 4.1.2 三角和双曲线函数 4.1.3 复数 4.1.4 多项式函数 4.2 数据分析函数 4.2.1 极值、平均、总和、连乘及排序 4.2.2 变异数 4.2.3 ...

    MATLAB使用教程

    第四章 MATLAB函数 --- 语音讯号分析 4.1 数学函数 4.1.1 常见数学函数 4.1.2 三角和双曲线函数 4.1.3 复数 4.1.4 多项式函数 4.2 数据分析函数 4.2.1 极值、平均、总和、连乘及排序 4.2.2 变异数 4.2.3 ...

    计算机系统结构试题集

    A、硬件实现 B、逻辑实现 C、软件实现 D、以上三种 4、在计算机系统设计时,为了提高系统性能,应当注意( )。 A、加快经常性使用指令的执行速度 B、要特别精心设计少量功能强大的指令 要减少在数量上占很小比例的...

    网吧维护技术资料 合集

    4001 网吧维护\win2000服务器设置全攻略\Win2000服务器设置全攻略(三十四).htm 3139 网吧维护\win2000服务器设置全攻略\Win2000服务器设置全攻略(三十).htm 3404 网吧维护\win2000服务器设置全攻略\Win2000服务器...

    软件绿化教程(EXE格式)

    第四:加速系统运行  注册表的臃肿很大程度上影响系统运行速度,有许多软件安装的时候会写很多注册表项,但是其实多 数时候并非每个都是必须的,我经常碰到导出的注册表体积有1到2M的,很恐怖吧,但是精简之后...

    ActionScript开发技术大全

    第1篇ActionScript3.0语言基础 ...30.3.3创建缓冲与播放控制条 655 30.4创建播放器工具类 656 30.4.1创建数据库工具类 656 30.4.2创建字符串?ぞ呃?658 30.5创建数据模块 659 30.5.1创建MediaFile类 659...

Global site tag (gtag.js) - Google Analytics