从CDN或从根文件调用bootstrap的css和js文件

时间:2014-06-10 04:37:00

标签: javascript css twitter-bootstrap call cdn

有两种方法可以调用bootstrap的css和js文件。

  1. 来自CDN
  2. 来自根文件
  3. 我的问题是最好的工作方式是什么。

3 个答案:

答案 0 :(得分:3)

这个问题基本上是"我应该使用CDN吗?"。

答案可归结为以下因素:

  1. 您需要始终使用互联网连接,甚至测试您的代码。

    如果您正在移动并且没有互联网连接,或者您的某个客户在您演示代码时没有互联网连接,那么您就可以了。如果您正在使用CDN,则会遇到麻烦。

  2. CDN很可能会更快。

    CDN的设计目的仅限于快速提供文件。大多数情况下,有几个镜像为内容提供服务,因此文件可以快速提供给世界各地的用户。此外,如果您从自己的域托管它,则每次提供文件时也可能包含多个cookie,而CDN则不会。

  3. CDN可能会脱机。

    这是显而易见的,但它仍然是一个令人担忧的问题。检查您计划使用的CDN的声誉。

  4. 如果您使用CDN,您的带宽使用率将最小化。

    如果您在某个地方托管您的网站,并且您的主机限制了它将为您传输的数据量(通常称为“带宽”),那么CDN将有所帮助,因为它赢了&#39 ; t计入您的使用情况。

  5. 牢记这些因素,最终的选择是你的。但是,对于JS至少,我建议使用带有本地回退的CDN。使用jQuery完成的示例可以在https://stackoverflow.com/a/1014251/2141058找到。

答案 1 :(得分:0)

CDN为您提供所有文件,并且可能比自己托管它们更快。但是,您的所有客户都必须具有互联网连接。如果您的客户有互联网连接(如果您只是在写一个普通的网站),您应该使用CDN。

如果您的客户可能没有互联网连接(如果此网站位于公司网络内部),您应自行提供文件,因为您的客户将无法通过互联网访问CDN。

答案 2 :(得分:0)

内容分发网络的基础是,不同的网址/ IP地址,然后您网站的主域可以接收客户端请求和资源响应。

这意味着客户端的浏览器可以并且将会并行地请求来自不同url / ips的资源。因此,当您的网站上有js文件时,例如www.mywebsite.com/site.js,如果资源来自CDN,客户端浏览器将请求此资源并排队下一个资源。不同的url / ip,客户端的浏览器可以并行地向不同的服务器发出请求。因此,如果您要求cdn.bootstap.com/boostrap3-min.js,可以将此资源下载到客户端,而无需等待www.mywebsite.com/site.js完成下载到客户端浏览器。

所以这意味着整个网站的加载时间会更快。但人类可以更快地感知到它吗?如果这是一个为移动设备构建的网站,那么您可以利用CDN,因为您需要尽可能优化加载时间。如果本网站的主要用途是桌面网站,流量较小,在宽带/体面连接很常见的地理区域,除非是您自己的CDN服务器,否则不值得拥有CDN。

无法依赖引导程序CDN服务器,它不属于您的基础结构。当人们访问您的网站时,您不应该相信那些维护Bootstrap CDN的人总会把它拿出来。当然,最有可能的是,CDN将会出现并且从来没有问题,但是如果Bootstrap CDN在哪里下来,你的网站看起来不对或者甚至无法工作......你不会; t具有你应该掌握的控制水平。

另外,将CDN用于其他域名,IE9和IE10以及iFrames会导致问题,我在博客中写到: http://www.sandiegosoftware.net/blog/script5-access-is-denied-error-in-internet-explorer-loading-jquery/

将您自己的CDN服务器与主网站域的子域一起使用,或者不使用CDN是最好的经验法则。