【问题标题】:Calling bootstrap's css and js files from CDN or from root file从 CDN 或根文件调用 bootstrap 的 css 和 js 文件
【发布时间】:2015-06-29 21:31:11
【问题描述】:

调用bootstrap的css和js文件有两种方式。

  1. 来自 CDN
  2. 从根文件

我的问题是哪种方式是最好的工作方式。

【问题讨论】:

    标签: javascript css twitter-bootstrap call cdn


    【解决方案1】:

    这个问题本质上是“我应该使用 CDN 吗?”。

    答案归结为以下因素。

    1. 您将始终需要互联网连接,即使是为了测试您的代码。

      如果您在移动中并且没有互联网连接,或者在您演示代码时您的一个客户没有互联网连接,那么如果您使用的是 CDN,那么您就有麻烦了.

    2. CDN 很可能会更快。

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

    3. CDN 可能会离线。

      这很明显,但仍然令人担忧。检查您计划使用的 CDN 的声誉。

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

      如果您在某处托管您的网站,并且您的主机对其传输的数据量(通常称为“带宽”)有限制,那么 CDN 会有所帮助,因为它不会影响您的使用量。

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

    【讨论】:

    • 不客气@user3724591。不过,请考虑接受其中一个答案。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      内容交付网络的基础是与您网站的主域不同的 url/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 出现故障并且您的网站看起来不正确或者甚至无法正常工作......您没有达到你应该控制局势。

      另外,使用 CDN 到不同的域,IE9 和 IE10 和 iFrame 可能会导致问题,我在我的博客中写过这个: http://www.sandiegosoftware.net/blog/script5-access-is-denied-error-in-internet-explorer-loading-jquery/

      使用您自己的 CDN 服务器和主网站域的子域或不使用 CDN 是最好的经验法则。

      【讨论】:

      • 非常感谢奥格登先生。
      猜你喜欢
      • 2019-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      • 2021-04-29
      • 2010-12-18
      相关资源
      最近更新 更多