最近遇到一個問題,就是我們更新了CSS上去之後無法吃到CSS。 電腦版的話還好解決,因為使用無痕視窗就可以躲避這個問題。 但是手機(某些貌似沒有無痕? iphone?) 而且這也是治標不治本,因為是上線途中的程式,所以可能有些user已經抓住cache了,因此改版他們也吃不到,上網找了之後發現可以設定iis來讓clientCache清除重新抓。 開啟IIS 選取目標網站 > Http回應標頭 右鍵 設定一般標頭 > 到期時間選立即 這樣就貌似可以抓到新的CSS,但是之前實測的時候對於某些手機好像也是沒用,抓不到 所以也不確定到底原因為何 順帶一提,也可以直接下code在web.config裡面 這是一小時 <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="01:00:00" /></staticContent> 這是立刻 <staticContent> <clientCache cacheControlMode="DisableCache" /> </staticContent> ------------------------------------------------------------------------------------------------ HTTP Header 有不少與 Cache 管理有關,協助瀏覽器用 Cache 減少網路傳輸量,例如:Cache-Control、If-Modified-Since、ETag… 等。要了解這些技術細節,推薦幾篇文章: IIS 預設藉由 ETag 及 If-Modified-Since 讓靜態內容(HTML、JPG、PNG、GIF、CSS、JS...)平時可以被 Cache,但是檔案只要有更新就重新讀取。 以上是IIS的理論基礎 而實際案例則由 這篇 測試結果 他測試的方法是,一開始先丟一篇Index.html上去,為5880個字元,接著再丟一個多...