优化web站点的几点经验(一)

  做web开发的同行们,都会为web的优化做很多的工作,我也不例外,在此随便聊聊我的优化web系统的几点经验。
  一.最小化http requests.
     web site 的80%的响应时间花费在page front-end(页面前端)。在这些时间中,绝大多数是用于下载page中的所有的组件(如:images, stylesheets, scripts, Flash, etc)。减少page的组件数量,从而减少page的所需http requests的数量。这是使page变快的一个关键。
     有一个减少page的组件办法是简化page设计。哪么有不有又要建设比较丰富的web site(网站),又需要有较快的反应速度列?以下有一些减少http requests的数量,同时支持丰富的page设计的方法。
     办法一:合并所有的javascript文件到一个javascript文件中去。合并所有的css文件到一个css文件中去。合并脚本和css文件是具有挑战性的,当每页的脚本和css不同的时候。
     办法二:图片地图方式:合并所有的图片到一个图片中间去。虽然图片的总体大小是相同的,但是这样可以减少page的http requests的数量,从而提高page的响应速度。图片地图方式只有在page的图片比较相似的时候使用。例如:导航器。定义图片地图是容易出错和乏味的工作。使用图片地图是不太容易的,所以它也是不太被推荐使用的。
     办法三:在page刚开始加载的时候,减少http reque[img][/img]sts的数量。这是在第一次访问page时,提高执行效率的最重要的指导方针。
   二.使用内容分发网络
     当用户的地理位置接近你的web 服务器时,会对page的响应时间有一个影响。这个时候需要你将内容发布在多个服务器上。地理上分散的服务器将让你的page加载更快,从用户的角度来说。
   三.个组件加载增加一个时期限制或者增加一个缓存控制
      目前存在两个形式的规则:
      1.静态的组件,是永不过期的组件。
      2.动态的组件,使用一个适当的Cache-Control,可以让browser去根据条件加载该组件。
   四.使用GZip组件
      在http request和http response间传输花费的时间,能够通过前端工程师所做出的决定,显著的减少。
      的确,用户的宽带速度、internet服务提供商、对等交换点等都超出了开发团队的控制范围。
      但是,存在其他的因素可以影响page的响应速度。压缩http response的时间可以通过减小http response的大小来控制。
   五.将css文件放在page的顶部加载。
      当我们研究Yahoo网站的执行效率时,我们会发现:我们将css样式放到page页面的头部,会使页面显得
      加载的更快一些。这是应为将css样式放到page页面的头部,可以使page页面逐步的呈现。
   六.将javascript文件放在page的底部加载。
      脚本造成的问题是:并行下载。http 1.1规范中建议:在每个主机里,浏览器不要并行下载超过两个组件。
      如果你从多个主机里下载你的一些图片,哪么你可以同时获得多个并行下载。但是当你下载javascript脚本
      的时候,不论怎样你不能同时获得多个下载。
   七.避免使用css表达式。
      css表达式是比较危险的,它从ie5开始被支持,但是从ie8开始不被支持。
   八.使javascript和css外部化。
      大多数执行规则是:怎样处理外部化javascript和css,和管理它们。然而在考虑那些问题前,先问一个更
      基本问题:javascript和css是放在page的外部文件还是放在内部文件里。
      放在外部文件里,在实际应用中会使page页面更快些。应为外部文件缓存在浏览器里。
   九.在page页面里减少dns的使用,尽量使用ip地址。
      在page页面里尽量使用ip地址,不用使用dns。应为dns解析也是需要时间的。
   十.减小和优化javascript和css文件。
      减少js和css文件的大小,这样减少page装载内容的大小,提高page的加载速度。


你可能感兴趣的:(JavaScript,Web,应用服务器,css,脚本)