Asp.net-Mvc
記憶體 CSS 和 JS 文件
當我在 2-3 分鐘內刷新我的網站時,Firebug 會顯示這些不錯的請求:
1. /core.css 304 Not modified 2. /core.js 304 Not modified 3. /background.jpg 304 Not modified但是當我在 > 3 分鐘後刷新時,我得到:
1. /core.css 200 OK 2. /core.js 200 OK 3. /background.jpg 304 Not modified為什麼我的 CSS 和 JS 文件被再次下載,而圖像卻沒有?
我正在使用 ASP.NET MVC 3,我不使用
[OutputCache],並且在我的/Content文件夾中(所有 css、js 和 img 文件都位於子文件夾中)我有這個 Web.config:<configuration> <system.webServer> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" /> </staticContent> </system.webServer> </configuration>僅設置 HTTP 標頭
Cache-Control: max-age=86400。所以基本上 CSS、JS 和圖像被以相同的方式處理,但不知何故 CSS 和 JS 不會被記憶體更長的時間……這是為什麼呢?
希望這會有所幫助:http ://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache
<clientCache>元素的元素<staticContent>指定 IIS 7 及更高版本發送到 Web 客戶端的記憶體相關 HTTP 標頭,這些標頭控制 Web 客戶端和代理伺服器如何記憶體 IIS 7 及更高版本返回的內容…
IIS 或 Visual Studio Web 伺服器會發生這種情況?一段時間以來,在開發(使用 VS Web 伺服器)時感知到了這種行為,但是在 IIS 中發布它時不再發生這種情況。