在IIS中设置cache-control后,通过chrome开发者工具的network面板可以看到设置了此http头。但是按照我的理解此头设置的是强缓存的过期时间,也就是说未过期之前,都是直接从browser本地缓存中读取资源的(看别人的博客,此时的状态应该是200且from cache),根本不会请求到server那里。但是我在本地测试的时候,发现实现不了此效果,而是协商缓存(即304且from cache),这样的话仍然是请求到了HTTP server了。目前我就是想在IIS下实现强缓存的效果,大家看是我哪个地方理解错了还是设置不到位?
搞懂了!
是由于我对于刷新行为的理解和界定有误!
cache-control的有效范围是除(点击刷新按钮、F5、Ctrl+F5、右键重新加载等【参考https://www.zhihu.com/question/20790576】)之外的操作才有效。而之前我没想到F5刷新也会让浏览器忽略cache-control。
http://stackoverflow.com/questions/642954/iis7-cache-control
谢谢!问题已解决!