2009-10-06 32 views
12

我的公司託管着大約30個網站,所有網站都共享相同的代碼庫並重復使用許多相同的圖像。目前,所有網站的圖像都託管在一個域上,然後每個其他網站都必須鏈接到這些圖像。在不同的子域上託管圖像

即 www.example.com/images/hello.jpg

和www.example2.com我們有類似: <img src="http://www.example.com/images/hello.jpg" />

最近有人告訴我,我應該把所有這些共享/靜態圖像在子域上,但我沒有看到這方面的優點。我聽說速度有可能會有所增加,但我也聽說它可能會使事情複雜化。有人可以詳細說明嗎?

回答

16

一對夫婦的優勢吧:

  • 一個單獨的域可以防止您的域的cookie從每幅圖像的要求,不是在需要的地方被髮送。減少每個請求的帶寬開銷。
  • 大多數瀏覽器一次只能向特定域發送一定數量的HTTP請求,因此,從第二個域中提供圖像和其他靜態內容可能會使HTTP請求的數量同時增加一倍。
  • 您可以設想使用像nginx/lighttpd這樣的更輕量級的網絡服務器來提供靜態內容。

缺點:

  • 管理它。
  • 兩次DNS查找,而不是一次。
+0

@ceejayoz:+1感謝您的有趣信息。對您而言,Web服務器是否可以更快地從不同的域/子域中並行下載圖像? – 2010-03-09 15:49:47

+0

@Marco Demaio我不認爲網絡服務器端會有差異,不會。 – ceejayoz 2010-03-09 16:02:43

3

當瀏覽器請求像CSS和Javascript這樣的靜態文件時,它通常會限制連接到給定服務器/子域的數量。將靜態文件放在不同的域下允許更多的同時下載。

如果設置正確,不同的子域可能只是您的網絡服務器上的一個目錄。取決於你的config-file-fu。

3

這包括在幾個Stackoverflow播客。

一個問題 - 如果您正在提供https頁面,用戶可能會收到關於安全和不安全項目的警告。

相關問題