雅虎34条黄金法则有讲当客户会经常浏览相关网页时,可以讲js或css外链这样就可以在浏览器端缓存,从而减少http请求,本人刚入门,看了雅虎和开源社区的首页前端代码,发现页面中有很多内联样式和内联js,我在想为什么不将这些js和css样式通过外部引入,这两个站的首页是需要经常浏览的呀,求解释……

解决方案 »

  1.   

    我只知道每一个外链会多一次http请求 。
    很多访问高的页面js css都是直接写在html里面 。
      

  2.   

    大型网站的首页的浏览量可想而知是很高的,而往往大型网站的资源是多台服务器来共同承载的,
    比如img.***.com 来存图片,cdn.***.com 来存js css等而首页的css不用外联,而直接写页面里,主要有几点好处吧
    1.减少http连接请求,缓解服务器压力
    2.首页与其他页面样式不同,直接写在页面里,方便管理。
    3.防止外联css未加载上(延时或者服务器当机),而导致页面裸奔
    4. 至于有人会说这样影响seo,我觉得不至于啊,都説是大型网站了,流量上去了,想不得到好的排名都难,况且seo又不仅仅看首页。
      

  3.   


    同意,其实从维护的角度来说,肯定是将JS和CSS外置比较好,放在同一个页面主要是为了加载速度和对服务器的压力。再一个现在带宽比较富裕的情况下,分多次加载反而没有一次性加载效率高。
    说道缓存,不一定非得将JS和CSS缓存在客户端,像门户类的都有很强的CDN支撑,其实这些资源都是发布在离来访者比较近的网络,访问速度应该很快。
      

  4.   

    雅虎34条黄金法则有讲当客户会经常浏览相关网页时,可以将js或css外链,这样就可以在浏览器端缓存,从而减少http请求。
    ---------------
    少量用户经常在错开访问高峰时浏览的话,是这样。但大量用户在访问高峰时集中浏览,而且正好他们没有缓存,或者网站正好改了版,JS和CSS都需要重新下载(使用时间戳技术让缓存失效),这时就糟糕了。实际情况是活的,经常会是完全不同的,因此技术也得是活的,需要根据实际情况选择使用策略。
      

  5.   

    少量用户经常在错开访问高峰时浏览的话,是这样。
    ------
    或者即使是大量用户在访问高峰时浏览,只要事先有正确的JS,CSS缓存,也是可以的。
    但你怎么可能保证他们一定都有缓存呢? 没有的话,就会适得其反。
    尤其是即使他们有缓存,但当网站的JS或者CSS发生变化时,即使有也必须要强制他们更新。所以使用的话,在改版后,和稳定一段时间后,需要采用不同的策略。大网站都有细致明确的访问流量分析。