当我的 ASP.NET 应用程序请求图像时,我的 C# 代码会响应二进制数据以及以下标头(如 Fiddler 中的捕获):
HTTP/1.1 200 OK
Cache-Control: public
Content-Type: image/jpeg
Expires: Fri, 06 Sep 2013 21:43:21 GMT
Last-Modified: Wed, 04 Sep 2013 22:21:27 GMT
ETag: "0x8D0770B10F6F56D"
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 06 Sep 2013 21:13:23 GMT
Content-Length: 39007
我的期望是浏览器将缓存此图像直到格林威治标准时间至少 21:43 (即从现在起 30 分钟),但事实并非如此。当我按下 F5 时,我的浏览器向我的 ASP.NET 应用程序发送另一个图像请求。
我的标题中缺少什么以确保文件被正确缓存?