2014-06-10 112 views

回答

3

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

答案归结为以下因素。

  1. 您需要随时连接网络,甚至是测试您的代码。

    如果您正在移动并且没有互联网连接,或者您的某个客户在演示代码时没有该客户端,那么如果您正在使用,则会遇到问题一个CDN。

  2. CDN很可能会更快。

    CDNs是专为服务文件的唯一目的而设计的,速度很快。大多数时候,有几个镜像服务于内容,因此文件可以快速提供给全世界的用户。另外,如果您从自己的域中托管它,则每次提供文件时可能还会包含多个Cookie,而CDN则不会。

  3. CDN可能会脱机。

    这是显而易见的,但仍是一个问题。检查您打算使用的CDN的声誉。

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

    如果你把你的网站托管在某个地方,而你的主机会为你传输的数据量有限制,通常称为“带宽”,那么CDN将会有所帮助,因为它不会对你的用法。

记住这些因素后,最终的选择是你的。但是,至少对于JS来说,我推荐使用具有本地回退功能的CDN。使用jQuery完成的示例可以在https://stackoverflow.com/a/1014251/2141058找到。

+0

非常感谢。 –

+0

不客气@ user3724591。尽管如此,请考虑接受其中一个答案。 –

0

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

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

+0

感谢您提供的信息。 –

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下降,并且您的网站看起来不正确或甚至无法正常工作......您的级别不足控制你应该掌握的情况。

此外,使用CDN到不同的域和IE9和IE10和iframe中可能导致的问题,我在我的博客上写了一篇关于这个位置: http://www.sandiegosoftware.net/blog/script5-access-is-denied-error-in-internet-explorer-loading-jquery/

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

+0

非常感谢Ogden先生。 –

+0

非常欢迎;) –