2011-05-05 71 views
1

我們希望爲使用過的圖片,css和javascript設置expires頭文件來改善pagespeed,但是我們在修改css或js腳本時意識到緩存問題。智能解決方案expires頭文件

是否可以在加載xhtml的文件中添加元標記或其他標記,該標記告訴瀏覽器刷新每個元素,而不管現有圖像,css或js上設置了什麼緩存?

回答

2

你可能想要做的是版本你的靜態內容。所以你說你有一個main.css文件,那麼你可以通過將它重命名爲main_0.css來進行版本化(只是一個例子),然後你將緩存設置爲一年。如果您需要更新main.css,只需增加版本號並更新您的引用。然後所有客戶將獲得最新版本。

有幾種解決方案,可以爲你做這個版本,但是這是基本原則..

具有高速緩存相關的問題時,我經常發現theese資源非常有用:

  1. http://code.google.com/intl/no/speed/page-speed/docs/caching.html
  2. http://code.google.com/intl/no/speed/page-speed/docs/filters.html

希望這會有所幫助。

編輯

這裏是一個版本的解決方案(的mod_pagespeed),做什麼我上面所解釋的:

  1. http://code.google.com/intl/no/speed/page-speed/docs/filter-cache-extend.html
+0

我喜歡你的編輯,但也有一些像IIS一樣的東西嗎? – 2011-05-20 08:37:04

+0

不是我意識到,如果我是你我只要安裝apache2 + mod_pagespeed並將請求轉發給IIS – netbrain 2011-05-20 08:55:43

1

是否有可能加元或其他標記在加載xhtml的文件中,該標記告訴瀏覽器刷新每個元素,而不管現有的i上設置了什麼緩存法師,CSS或JS?

不是我所知道的。

我們要設置爲過期使用的圖像,CSS和JavaScript頭改善的PageSpeed

這在我看來是一件好事。

但我們知道修改css或js腳本時的緩存問題。

如果您對CSS或JS做出了重大更改,那麼您應該正在進行更改。通過將新的CSS和JS放在不同的路徑上來管理這些更改,並在進行更改時更改HTML中的引用。這使您可以:

  • 瞬間鋪開/回
  • 通過動態地生成這些引用
  • 網絡日誌做選擇性的推出,現在跟進的bug報告
  • 避免短的任何問題提供明確的審計線索長期緩存CSS和JS
2

據我所知,沒有這樣的捷徑。

即使是這樣 - 重點是什麼?發送這樣的頭文件首先會挫敗將來到期頭文件的目的。

當設置過期頭,你需要某種形式的資產版本添加到您的元素,如<link rel="stylesheet" href="css/style.css?v=2">

路徑更改爲資產將達到同樣的目的。

是的,這是一個麻煩。但是cache invalidation is a hard problem,真的沒有簡單的方法。