2013-07-18 59 views
0

我使用共享主機與CDN Cloudflare一起使用。而且,我的網站肯定比以前使用CDN更快。不過,我想更好地瞭解CDN和我的託管服務如何交互。例如,假設我在網頁上有一個圖像,還有一個外部JavaScript文件。我知道CDN「緩存」這些資源。但是,這是否意味着,而不是把從我的共享主機的圖像/ JavaScript的(這將「成本」我字節每月轉),該CDN這樣做,基本上是給我這些資源的「自由」轉會?CDN如何處理「緩存」資源?

回答

1

是的,你是對的,如果你的CDN服務提供商不收取任何數據傳輸費(如免費級別的CloudFlare)。

基本上發生的事情是用戶作出的資產的請求在您的網站,如果該項目已經在您的CDN供應商的邊緣節點緩存,該項目將從他們提供服務。 只有當資產不能從緩存中獲得或過期時,服務器才能獲得命中的唯一時間。

但這不自由是有代價的,天下沒有免費餐和想象的CloudFlare如何生存,如果簡單地讓每一個有免費的午餐。

對於大多數免費服務,沒有性能保證,因此緩存命中率可能一直不高,CDN提供商可能只會分配有限的內存來爲免費客戶存儲緩存,因此存在資產在緩存中不可用的可能性相對較高。

更糟糕的是,如果內容在緩存中不可用,那麼你的CDN提供商需要將文件讀取到您的原始服務器。現在,來自最終用戶的直接請求會成爲兩個間接請求,這顯然會增加加載時間。

+0

感謝您非常清晰和詳盡的解釋。 – Eric