现在的位置: 首页 > 综合 > 正文

文摘:网站加速的通用解决方案-前端

2013年09月28日 ⁄ 综合 ⁄ 共 1264字 ⁄ 字号 评论关闭
  1. 减少http请求。一般来讲可以考虑:

    1. 合并文件,如CSS文件
    2. 图标合并为一个大图片,用显示图片不同部位的方式显示不同图标
  1. 使用CDN减少本机访问
  2. CDN本身只是一个思路,重要的是把静态资源分散到不同的域名,不同的机器中去,以避免http请求的堵塞。如css.xx.com,static1.xxx.com,static2.xxx.com
  1. 服务器策略:

    1. 对静态资源,可以采用“永不过期”策略来减少下载。
    1. 动态资源也可以用"Cache-Control"来视情况延长过期时间。
    1. 注意!静态资源如果采取永不过期策略,势必需要要在更新时修改文件名否则无法起效,可以考虑静态文件名本身加上时间或者版本号。
  1. gzip压缩请求的返回,将部分服务器压力转移到用户机器。
  2. 将样式文件,如CSS等放在页面尽量靠前的地方,对某些浏览器来说,可以加速展现效果,避免用户傻等。
  3. script文件尽量放在页面底部,以使其他部分优先加载展现,毕竟script运行需要时间。
  1. 避免CSS中使用表达式,CSS中的表达式可能会成百上千次的运行,所以最好用一次性计算的方式代替。
  1. JSCSS文件化,而不是写在页面中。一个正常的网站通常会被打开多个页面,而同样的JSCSS文件不会被再次加载,所以也就减少了访问。当然如果你的网站只有一个页面,多出几个JSCSS文件当然会增加访问压力,但这种情况一般很少。
  1. 减少DNS查询。这也就要求尽量把网站内容部署在一个域名下,当然这和上面的策略有矛盾,所以需要综合考虑,一般一个网页中用到的域名,以23个为适当。
  1. 压缩JSCSS
  1. 去掉重复的scipt(代码层级工作)
  1. 避免跳转
  1. 配置ETagsETags是网页和资源文件的特征码(类似md5较验码),如果网站只有一台机器那么对同一个文件特征码不会改变,但对于多机组成的机群来说,有必要统一配置。或者直接去掉ETags,将它配置为none
  1. Ajax配置为可cache的,减少请求。
  1. Ajax请求尽量使用Get方式,因为Post是两步式请求,增加服务器压力。
  1. PHP中,可以在进行较耗时间的操作前(如请求数据库),将部分静态内容先flush出去,这样可以同步进行发送部分内容和请求另一部分内容。如:

 

     ... <!-- css, js -->

    </head>

    <?php flush(); ?>

    <body>

      ... <!-- content -->

 

  1. 精减DOM树中的元素,以减少查找处理时的消耗。
  1. 避免访问和查找DOM
  1. 减少iframe
  2. 减少404
  3. 精减cookie大小
  4. 对静态资源专用的域名,设置为无cookie模式
  1. 分离事件处理,使每个事件handler都尽量精减
  1. 减少对了提高兼容性,而设置的针对浏览器的filter,当然这是很难的。
  2. 压缩图片大小,当然是指用无损方式,对于gifjpg来说有很多类似的工具。
  3. 尽量使用png图片。
  1. 使组件单个大小在25K以下,移动端浏览器不会cache
    25K
    以上的内容。
  1. 图片的src标签尽量不要为空,对于这样的src,某些浏览器会视为一个对本页链接的访问,这样加大了服务器负担。
【上篇】
【下篇】

抱歉!评论已关闭.