如何獲得Apache上的靜態內容(由瀏覽器緩存)而不是{檢查新鮮度(每次請求)}?使用Apache緩存網站圖像
我正在Apache網絡服務器上託管的網站上工作。最近,我正在測試一些標題(Content-Type適用於不同類型的內容),並看到了很多對圖像的條件請求。例如:
200 /index.php?page=1234&action=list
304 /favicon.ico
304 /img/logo.png
304 /img/arrow.png
(etc.)
儘管圖像文件是靜態的內容和瀏覽器緩存,每一個用戶打開鏈接到他們的網頁的時候,他們正在有條件地要求向他們發送「304未修改」。這是好的(減少數據傳輸),但這意味着每次頁面加載時請求多於20次(由於所有這些往返都會導致更長的頁面加載時間,即使啓用了Keep-Alive和流水線)。
如何告訴瀏覽器保留現有文件而不檢查更新版本?
編輯: mod_expires方法工作,即使與favicon。
我已經指定了我的圖標,使其具有MIME類型「image/x-icon」 - 我似乎無法讓Apache設置Expires標題。任何想法爲什麼這是?我需要使用圖像/ vnd.microsoft.icon? – Tom 2010-02-18 18:02:18
@Tom:「用於.ICO文件的官方IANA註冊MIME類型是image/vnd.microsoft.icon。」 (維基百科)所以,你不需要使用它,但它是正確的MIME類型 - 你會發送JPEG圖像而不是標準的「image/jpeg」的「image/x-jpg」?是否有技術原因,您不想返回正確的MIME類型? – Piskvor 2010-02-19 12:30:47
@Tom:對於第一個問題,只要知道它,服務器就不應該關心MIME類型。此MIME類型的* ExpiresByType之前是否有AddType *? – Piskvor 2010-02-19 12:37:51