2010-10-29 33 views

回答

9
  • 的文件中的CDN會比你的服務器更快。
  • 服務器有最大數量的連接。瀏覽器限制同時請求到單個域的數量。將你的庫加載到CDN停止這兩個。
  • 如果每個人都從Google的CDN加載他們的jQuery庫,資源將在網站之間共享,並且同一版本的jQuery不需要多次加載(來自不同的服務器)。
  • 它對你來說更便宜;) - 節省帶寬!
+0

普遍認同,但它是值得記住的是,它並不總是快 - DNS查找的開銷,並建立初始連接可能比從自己的服務器服務它更大。最近的研究也顯示,從另一個網站緩存中存在jQuery版本的可能性很低。 – 2011-12-14 19:34:35

+0

@AndyDavies:DNS查找的公平點,但我不確定您的初始連接時間是什麼意思?你有沒有鏈接到這項研究;我記得閱讀它,但無法找到鏈接(我腦海中的某些東西告訴我這是由Facebook完成的) – Matt 2011-12-16 09:45:22

+0

這裏是文章 - http://statichtml.com/2011/google-ajax-libraries-caching.html - 它是由史蒂夫韋伯斯特。通過初始連接時間,我指的是建立到Google CDN的TCP連接的時間 - 我有一個例子,我將把一個示例圖像向上。 – 2011-12-16 09:56:34

7

主要有兩個原因,據我所知:

1 - 它可以通過提供更貼近的路線到客戶端加速託管文件的交付。

2 - 它可以提供對常用文件緩存的好處,因爲用戶可能已經從網上下載同一CDN

3

原因是多方面的,但這裏有一些脫穎而出:

  1. 節省您的帶寬。對於非定製的東西,當你可以依靠谷歌,微軟或雅虎來託管它時,爲什麼會浪費你網站的帶寬。
  2. 如果很多網站使用託管版本,那麼用戶的瀏覽器將其緩存的概率已經增加。這意味着下載一次即可訪問您的網站。
  3. CDN的地理位置可能更適合您的用戶,並且可以更快地提供服務。
  4. 由於託管版本將位於不同的域中,所以同時下載的bowser限制將被避免。

很多人都說依靠CDN是危險的,因爲如果CDN崩潰會發生什麼。這是真的,但很可能你的網站更有可能倒下那些大個子。也就是說,如果CDN確實停止運行,可以使用一些方法將回退到託管在您網站上的版本。

5

@Matt擊中了頭部。除了CDN之外,如果CDN出現故障,您可以回退到本地版本的jQuery。下面的示例:

<!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> --> 
<script>!window.jQuery && document.write('<script src="js/jquery-1.4.2.min.js"><\/script>')</script> 
相關問題