我有一个返回 FileResult 的操作(这是一个 png 图像)。我非常希望浏览器缓存结果,因为对于给定的请求 uri,它不会改变。
我使用路由使 uri 看起来像这样-
http://localhost:6094/Map/Tiles/1.0.0/none/2/5/5.png
在操作方法中,我调用:-
Response.Cache.SetCacheability(HttpCacheability.Public);
在 Fiddler 中,我可以观察到响应具有:-
Cache-control: public
标题。然而,对同一地图图块的后续请求如下所示:-
GET http://localhost:6094/Map/Tiles/1.0.0/none/2/5/5.png HTTP/1.1
Host: localhost:6094
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.34 Safari/536.11
Accept: */*
Referer: http://localhost:6094/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
因此导致 200 响应,以及数据传输。
知道为什么 Chrome 不费心缓存我的数据吗?
谢谢
滑