禁止IIS缓存静态文件(png.js.html等)的方法

禁止IIS缓存静态文件(png、js、html等)背景:
IIS为了提高性能,默认情况下会对静态文件js、html、gif、png等做内部缓存,这个缓存是在服务器iis进程的内存中的。IIS这么做在很大程度上可以提高静态文件的访问性能,在正常情况下只要静态文件更新了IIS也会更新缓存。但是如果更新的静态文件很多就有可能出现缓存不更新的情况。
弯路:
我遇到这样一个场景,服务器循环更新上万张股票行情图片,IIS也会对图片进行缓存,由于更新的频率很高,文件很多,就出现了IIS缓存文件超过几十分钟都无法更新的情况。
这时候直觉是浏览器对文件进行了缓存,于是就在IIS的目录上设置Http头:Cache-Control:no-cache,但是无济于事,浏览器请求服务器端得到的状态号是200,这可以说明浏览器确实是从服务器端得到了新的内容,而非读取浏览器本地缓存。
如何禁止IIS缓存静态文件(png、js、html等):
通过设置Http头不让浏览器缓存的方法在这个场景下是行不通的,因为缓存不是出现的客户端,而是出现在IIS服务器上;所以解决问题还需要从IIS本身入手,通过配置Metabase.xml文件禁止IIS缓存相应目录下的静态文件。
1. 首先需要设置IIS允许运行时编辑Metabase.xml文件

打开IIS,然后打开IIS属性页,勾选上“允许直接编辑配置数据库”选项

2. 在运行中输入notepad c:/WINDOWS/system32/inetsrv/MetaBase.xml 打开IIS配置文件

3. 在文件中搜索要配置禁止缓存的虚拟目录名字,找到类似如下配置节


<IIsWebVirtualDir Location ="/LM/W3SVC/1832041641/root/inc"
AccessFlags="AccessRead | AccessScript"
AppFriendlyName="inc"
AppIsolated="2"
AppRoot="/LM/W3SVC/1832041641/Root/inc"
DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc"
Path="D:/publish/inc"
>
</IIsWebVirtualDir>

在IIsWebVirtualDir配置节中添加 MD_VR_NO_CACHE=”1“ 属性
4. 保存配置文件,重启IIS即可。
如果想配置服务器上的所有站点都禁用IIS缓存可以通过修改注册表实现:
编辑注册表中的 DisableStaticFileCache值,0为启用,1为禁用 ,该键值的位置位于:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/InetInfo/Parameters
如果该键不存在可以新建。
注意事项:
通常情况下我们并不需要禁用IIS的静态文件缓存,iis会自动根据静态文件的修改时间自动更新缓存;只有在你遇到非常情况下才有必要禁用IIS缓存。IIS缓存和Http缓存相关头没有任何关系,在IIS上加缓存头没有办法清除掉IIS对静态文件的缓存。

(0)

相关推荐

  • Win7和Win8禁止在桌面存放文件的方法

    我们修改一下设置可禁止在windows7存放文件夹,当把文件夹存放到windows7桌面时,系统就会提示你禁止在windows7桌面存放文件夹。 前提:要把在桌面上存放文件夹的功能禁用,要确保系统盘的 ...

  • XP系统下如何禁止U盘写入文件

    一、手动方法。 运行regedit,打开注册表编辑器,在hkey_local_machine/system/currentcontrolset/control下新建键名为storagedevicepo ...

  • chrome浏览器怎么找缓存视频文件?

    chrome浏览器怎么找缓存视频文件.许多网友在使用谷歌浏览器(含百度浏览器.uc浏览器.360浏览器等极速内核的浏览器)上网看到视频想保存,但网站没有下载入口.看过就不知道在哪里下载了.现在就让小编 ...

  • chrome谷歌浏览器中的缓存视频文件怎么找

    chrome浏览器找缓存视频文件:1:输入"chrome://cache"打开页面如图: 2:同时按下键盘的ctrl+f键打开查找对话窗口右上角如图,输入视频文件后缀名,一般为.f ...

  • 吉吉影音缓存的文件怎么找

    吉吉影音缓存的文件怎么找

  • 如何使用网易云音乐匹配本地缓存音乐文件?

    方法 打开电脑中安装的网易云音乐客户端,然后点击左侧的本地音乐. 出现的本地音乐窗口中,点击蓝色的选择目录.然后添加歌曲文件. 添加缓存歌曲文件所在的文件夹,勾选文件夹,从而添加歌曲文件. 这时候网易 ...

  • Windows10系统下如何禁止u盘拷贝文件

    Windows10系统下如何禁止u盘拷贝文件 步骤如下: 1.我们按[Win+R]键打开运行窗口,输入gpedit.msc,打开 本地组策略编辑器; 2.在左侧依次展开[计算机策略]-[管理模板]-[ ...

  • uc浏览器删除后之前缓存的文件还在吗?

    手机UC浏览器卸载之后之前缓存的文件依然在文件夹内但是已经无法打开了. PCUC浏览器卸载的时候会提示你是否清除所有缓存,如果清除那么缓存的文件也就没有了,没有清除那么在C盘中应该可以找到UC浏览器下 ...

  • win7系统怎么删除火狐浏览器缓存的文件

    火狐浏览器里缓存的文件如何不及时的清理,就会严重的影响计算机的运行速度,有时候还可能泄露隐私,下面小编就以win7系统为例为大家讲解如何解决这样的问题. 具体步骤: 1.打开火狐浏览器,在地址栏输入: ...