我正在通过asp.net中的HTTPModule提供一些文件。我想知道将Cache-Control header 设置为某些内容(例如不缓存)是否有好处?

编辑:我对此感到好奇的原因是因为我们遇到了一个问题,即通过IE中的SSL session 提供Office文档会导致错误(“缓存控制”设置为“无缓存”)。也就是说,如果将Cache-Control设置为no-cache,则无法通过IE中的SSL下载Office文档。

基本上我不想包含Cache-Control header ,但想知道它是否会引起问题吗?

编辑2:好吧,Cache-Control header 已退出。我尝试了以下建议,但遇到了一些问题。每当我尝试打开Office 2007文档时,如果我添加了expires header 或根本更改了Cache-Control,它都会尝试以zip格式打开它。 (我知道它们实际上是背后的zip文件),但是当我不使用expires header 或缓存控制IE时,它们可以像Office Documents一样打开。不幸的是,我没有时间尝试解决所有问题-因为代码卡住距离现在只有十分钟了:)

感谢大家的帮助!

最佳答案

据雅虎!和YSlow应该。看到这个article

更新:根据您的评论,您似乎正在尝试防止缓存。我会用:

Cache-Control: max-age=0

对我来说,它比使用Expires header 更简单,更明确。

更新2 :听起来您需要为Office文档指定Content-Type header 。尝试在下面使用:
Content-Type: application/octet-stream

关于c# - 提供文件时是否应设置Cache-Control header ?或不?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2389530/

10-16 09:01