2012-05-09 80 views
1

我有一個網站,其中所有的網頁都有很多圖像。每個圖像都是由PHP動態生成的(我的意思是說img標籤的src =「」屬性類似於「/image.php?id=4553」)。如何在網頁上加載大量的PHP生成圖像

我正在正確控制緩存以加快同一圖像的加載次數,加載單個圖像所需的時間非常快。問題是前5-6張圖像在頁面加載的同一時間加載,其他圖像稍後加載了幾秒鐘(5-10-15秒後)。 Firebug告訴我,問題是由於瀏覽器執行的請求排隊以限制與服務器的同時連接。

當我發送頁面的HTML時,我嘗試發送「Connection:Keep-Alive」標題,但這可能還不夠!

任何幫助?

我知道有jQuery插件,例如延遲加載,只有當它們在視口上可見時才加載圖像。這將是一個很好的「解決方法」,但我想知道是否有任何正確的方式來控制這種類型的圖像加載。

非常感謝。

+0

你是否在該腳本中處理圖像? – Leri

+0

是的,我調整(gdlib)原始圖像的格式,我需要在該特定的「圖像標籤」。 –

+0

爲了改善您的表現,我建議您在上傳時處理圖片,稍後再輸出。因爲圖像上傳一次但顯示多次。 – Leri

回答

4

Firebug正在很好地總結這個問題。瀏覽器一次只能加載一個域的資源量爲xx通常在8左右,雖然這可能因瀏覽器而異,並可由用戶在其設置中更改。解決這個問題的唯一方法是讓瀏覽器從不同的域下載資源(子域統計爲不同的域),這將允許一次下載更多的資源。您可以通過欺騙瀏覽器來認爲它是通過使用.htaccess和mod_rewrite從不同的域下載來從虛擬子域下載的圖像,而實際上它們是從同一個域下載的。這將允許您一次下載更多的分配資源。

+0

謝謝,非常清楚完整的答案! –