2010-02-21 69 views
0

我們正在調整我們的網頁,所以我們split我們呼籲跨子域的靜態數據。爲了做到這一點,我們必須:在瀏覽器中實現並行靜態內容下載?

  • 所以它仍然緩存
  • 嘗試始終爲來自相同的子域相同的內容,並從每個子域的服務大致相同的內容量
  • 嘗試做這在自動方式在每個頁面的基礎上,即避免手工編碼每一個形象,不得不維持
  • 拿出一個解決方案,將在我們的開發/測試/生產環境中工作
  • 不要影響服務器上的頁面處理時間

我們使用的是J2EE應用服務器創建HTML頁面中,我試圖找到順序,最好的方法來實現這個爲我們所有的網頁。

至於我可以看到它,如果我們做到這一點的同時渲染HTML頁面,我們需要有圖像的某處存儲大小,而我們所建立的頁面,我們可以參考清單。如果要在HTML頁面上寫出圖像,我們需要確定在該頁面處理中該用戶在該子域中爲該用戶提供了多少其他圖像。然後,我們將這個圖像分配給一個子域,並以某種方式記住用戶會話(或更長)。

還是我過於複雜嗎?在網站上的每個頁面上維護一張圖像列表會更容易一些,並且(離線)確定每個圖像的哪個子域名,並且只爲所有用戶使用它?

我想有可能是一種方式,使用JavaScript瀏覽器要做到這一點,但我覺得每個頁面的開銷渲染可能有點高。

我知道這個題目是有點模糊,但如果有人已經實施這一點,我很想聽聽你的經驗。

謝謝!

回答

1

除非你的情況是非常不尋常的,我覺得你是最有可能過於複雜了。

首先,您採用並行下載的方法忽略了客戶端性能的其他關鍵元素之一,這是最小化您使用的不同域的數量。你必須在兩者之間取得平衡。 From the same guidelines you linked to

分裂[圖片,腳本,CSS,Flash等],跨越至少兩個,但不超過四個主機名(EM加)

因此最簡單的解決方法是對於大多數情況也可能是最優的:

  • 一個圖像域;
    • 在大量設計元素圖像(例如圓角,子彈等)和單獨體積的內容圖像的情況下,考慮從兩個 - 例如,static-images.mydomain.comcontent-images.mydomain.com
  • 一個用於腳本,CSS和Flash;
    • 如果其中一個特別佔用了比其他的更多,請考慮將它們分成一個獨立的域和其他域。
+0

感謝您的反饋。我們絕大多數的HTTP請求都是針對圖片的,因此我們很樂意將JavaScript和CSS留出。您建議的方法很簡單,可能適用於大多數頁面。 – 2010-02-22 11:07:48

相關問題