云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

文件存储_阿里云快照收费_是什么

小七 141 0

结合Javascript和CSS,更好的方法

web性能界的传统观点是,您需要组合多个javascript和CSS文件。这是因为每次设置新的HTTP请求时都会有大量的开销。请求越多,浪费的开销就越多。为什么要最小化HTTP请求?这个问题在移动设备上被放大了。你的智能手机可以不结巴地从YouTube流式传输视频,因为它是一个单一的HTTP连接,但它经常在看似简单的网页上出现故障,因为它们是由许多单独的对象组成的,这些对象都需要通过它们自己的HTTP请求来加载。一旦建立了连接,移动网络就有合理的带宽,但是每个新的连接都有一个失败的概率,这可能会阻止页面加载。将Javascript和CSS结合起来似乎是一个明智的解决方案,但它会遇到多个问题:组合的Javascript或CSS可能会破坏其他脚本的名称空间,并产生不可预测的错误。Javascript或CSS的组合可能会变得庞大而笨拙,站点范围内需要的所有代码都会导致初始加载时间变慢。对组合的Javascript和CSS文件的任何部分进行更改都会使浏览器缓存中的整个文件无效,并且需要缓慢的重新下载。组合文件可能会失去跨站点Javascript cdn的优点(比如CDNJS.com网站)它有效地在普通脚本到达您的站点之前将它们预加载到访问者的缓存中。合并第三方脚本可能很困难,也可能不可能,比如googleadsense、Facebook的like按钮或Twitter Follow按钮。在CloudFlare,我们认为,虽然减少HTTP请求数量的目标对于提高web性能很重要,但是必须有一种比单纯地连接Javascript和CSS更好的方法。火箭装载机简介

结合Javascript和CSS,更好的方法

CloudFlare减少HTTP请求的方法是革命性的。这个被称为"火箭加载器"的系统会自动检测需要新的HTTP请求的标签。Rocket Loader没有组合文件并导致上述问题,而是将重点放在组合对性能真正重要的方面:请求。然后打开一个单独的HTTP连接,然后通过一个单独的HTTP连接流到YouTube,然后打开一个单独的HTTP连接。好处是,虽然只有一个请求,文件仍然是原子的。因此,不可预测的错误被避免了,浏览器可以在本地缓存文件,而不是重新请求它们,如果一个文件发生更改,它不会使所有网站的其他脚本失效,而且它可以与您自己的脚本一起工作,就像对AdSense和Facebook这样的第三方脚本一样。最终的效果是,您获得了HTTP请求减少的好处,而没有了文件组合的缺点。这意味着什么?通常在CloudFlare已经交付的基础上再增加20%的性能优势,对于移动设备来说,这一优势甚至更大。

结合Javascript和CSS,更好的方法

手动或自动CloudFlare允许您完全控制火箭加载器的启用方式。您可以选择手动模式,在这种情况下,您需要在页面上标记要组合的脚本。您可以通过添加cf async="true"作为脚本标记中的第一个属性来完成此操作:\或者,您可以让CloudFlare自动将Rocket Loader应用于页面上的所有资源。在这种情况下,如果有一个资源不希望通过Rocket Loader加载,则可以通过添加cf async="false"作为脚本标记中的第一个属性来排除它:\]解决真正的问题Rocket Loader是CloudFlare开发的解决实际问题的技术的一个很好的例子,而不是羞怯地遵循传统的智慧。Rocket Loader利用CloudFlare的全球CDN平台为我们的用户提供尽可能最好的性能。我们对如何扩展Rocket Loader和帮助减少HTTP请求的数量有了很大的计划。因为它在web性能上有如此大的不同,我们为每个CloudFlare网站免费提供Rocket Loader。您可以从CloudFlare设置页面中单击一次将其激活,或者了解有关CloudFlare帮助优化站点的所有方式的更多信息。