我应该在提供文件时设置Cache-Control标头吗?或不?

Eri*_*ric 7 c# asp.net download http-headers

我正在通过asp.net中的HTTPModule提供一些文件.我想知道将Cache-Control标头设置或不设置为某些东西(如无缓存)是否有任何好处?

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

基本上我想不包括Cache-Control标头,但想知道它是否会导致问题?

编辑2:好吧,Cache-Control标头已经出来了.我尝试了下面的建议,但遇到了一些问题.每当我添加一个过期标题或根本改变Cache-Control时,当我尝试打开Office 2007文档时,它会尝试将其作为zip打开.(我知道它们真的是封装下的zip文件)但是当我不使用expires头文件或缓存控件时,IE就像Office文档一样打开它们.不幸的是,我没有时间尝试解决这一切 - 因为代码冻结是从现在开始的十分钟:)

谢谢大家帮忙!

Tay*_*ese 3

根据雅虎!你应该慢一点。请参阅这篇文章

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

Cache-Control: max-age=0 
Run Code Online (Sandbox Code Playgroud)

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

更新 2:听起来您需要为 Office 文档指定 Content-Type 标头。尝试使用以下:

Content-Type: application/octet-stream
Run Code Online (Sandbox Code Playgroud)