2014-07-07 21 views
-6

我們的網站的初始加載時間是巨大的。而且我發現目前在加載腳本方面存在着一些麻煩。有相同的庫的多個副本,我試圖追查這些到哪些真的被使用。因此,通過清理這些了,我碰到的一些問題:選擇最常用的內容分發網絡?

  1. 如何選擇最佳(最流行的)CDN?

    例如,jQuery提供了5種可能的解決方案。我怎樣才能確定哪一個是最常見的?據我的理解,即使是完全相同的文件將被再次下載,如果它來自不同的主機。

  2. 有沒有一種方法來檢查最終用戶是否已經從MaxCDN中獲得jQuery,如果沒有,那麼檢查Google CDN ...如果這兩個都不存在,則嘗試從所選CDN加載副本。如果失敗嘗試加載它從別的地方,最後是本地副本?

  3. 甚至可以檢查腳本的最終用戶副本來自哪裏?

  4. 這會對性能產生負面影響嗎?

回答

0

如果你有大量的腳本,你可能會更好結合和涅槃腳本,並從自己的本地託管CDN,或您的Web服務器爲他們提供服務。由於瀏覽器一次只能下載這麼多文件,因此通常會出現瀏覽器瓶頸而不是文件大小的請求數量。 (僅供參考:IE7允許2. IE8 +和Chrome允許6. Firefox允許8且限制可配置Source)縮小會縮小它們的尺寸(通常會超過50%或更多)並且合併將顯着減少下載時間。

關於你的問題:

  1. 即使你選擇了一個熱門的CDN,還有比沒有 更好的機會,用戶doesn't already have the jQuery library cached
  2. This isn't possible。如果您請求資源,瀏覽器將嘗試下載 。如果它不可用,腳本加載將失敗 ,您可以在那裏處理從備用源下載。在CDN停機的情況下,此 非常方便,但對您的 情況無效。
  3. 不可以。您無法檢查其緩存版本的jQuery來自哪裏。這是 ,可能是由於這樣的功能會被證明是安全問題或 隱私違規。
  4. 從CDN服務資源可能會產生積極影響。但是,如果您可以通過單個文件提供所有資源,則可以保存 字節以及其他網絡請求。
+0

但是,如果這些腳本中的大部分通常使用(?)使用jQuery擴展或者bootrap,那麼從共同主機獲取這些腳本不會有好處嗎? –

+0

@ArturKäpp編輯回答你的問題。 – FreeAsInBeer