4
我剛剛開始在我的一些控制器操作中使用OutputCache,並且我沒有完全得到我期望的響應。ASP.NET MVC:OutputCache和http headers
我已經將緩存時間設置爲5分鐘,並且Expires報頭與Last-Modified報頭相同,這是發出請求的時間。
這頭我目前得到:
Date Thu, 16 Jul 2009 06:35:07 GMT
Server Microsoft-IIS/6.0
X-Powered-By ASP.NET
X-AspNet-Version 2.0.50727
X-AspNetMvc-Version 1.0
Content-Encoding gzip
Cache-Control public, max-age=300
Expires Thu, 16 Jul 2009 06:35:06 GMT
Last-Modified Thu, 16 Jul 2009 06:35:03 GMT
Vary *
Content-Type text/html; charset=utf-8
Content-Length 575
這頭我希望:
Date Thu, 16 Jul 2009 06:35:07 GMT
Server Microsoft-IIS/6.0
X-Powered-By ASP.NET
X-AspNet-Version 2.0.50727
X-AspNetMvc-Version 1.0
Content-Encoding gzip
Cache-Control public, max-age=300
Expires Thu, 16 Jul 2009 06:40:06 GMT
Last-Modified Thu, 16 Jul 2009 06:35:03 GMT
Vary *
Content-Type text/html; charset=utf-8
Content-Length 575
爲什麼它會做任何想法?
乾杯 安東尼
Humm是否僅適用於HTTP/1.1?因爲我使用的只是支持HTTP/1.0的代理。那麼這仍然適用? – 2009-07-16 07:13:19
代理支持的內容僅與代理對內容的作用不同。發送的標頭取決於輸出緩存屬性中指定的緩存位置。 – bzlm 2009-09-21 20:28:00
Cache-Control標頭是在HTTP/1.1中引入的,用於處理Expires標頭中的限制。問題是Expires頭文件設置了一個固定的失效日期,如果客戶端和服務器時鐘不同步,會導致問題。 當使用支持HTTP/1.1(幾乎所有瀏覽器)的瀏覽器時,Expires標頭將被忽略,以支持Cache-Control - max-age標頭。使用Expires標頭的唯一時間是請求來自僅支持HTTP/1.0而不是HTTP/1.1的瀏覽器。 – 2010-01-31 13:57:28