禁止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. 在文件中搜索要配置禁止缓存的虚拟目录名字,找到类似如下配置节

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配置节中添加 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对静态文件的缓存。

服务器怎么禁止iis静态文件,如何禁止IIS缓存静态文件相关推荐

  1. php缓存静态化设计,PHP使用OB缓存实现静态化功能示例

    本文实例讲述了PHP使用OB缓存实现静态化功能.分享给大家供大家参考,具体如下: 实现步骤 1.创建测试数据表并且写入数据 2.实现后台的更新操作.使用OB缓存针对每一个内容生成对应的HTML文件 3 ...

  2. 如何禁止IIS缓存静态文件(png,js,html等)

    禁止IIS缓存静态文件(png,js,html等)背景: IIS为了提高性能,默认情况下会对静态文件js,html,gif,png等做内部缓存,这个缓存是在服务器iis进程的内存中的.IIS这么做在很 ...

  3. 如何禁止IIS缓存静态文件(png,js,html等)(转)

    禁止IIS缓存静态文件(png,js,html等)背景: IIS为了提高性能,默认情况下会对静态文件js,html,gif,png等做内部缓存,这个缓存是在服务器iis进程的内存中的.IIS这么做在很 ...

  4. iis微信缓存html,如何禁止IIS缓存静态文件(png、js、html等)

    禁止IIS缓存静态文件(png.js.html等)背景: IIS为了提高性能,默认情况下会对静态文件js.html.gif.png等做内部缓存,这个缓存是在服务器iis进程的内存中的.IIS这么做在很 ...

  5. iis设置允许或禁止访问的文件类型,以及能够解析的文件类型

    refs: https://blog.csdn.net/dofun333/article/details/74079760 设置iis能够解析的文件类型,比如".woff2"文件 ...

  6. 计算机系统如何禁止删除文件,电脑禁止安装删除文件 禁止复制电脑文件的方法...

    在企业局域网中,员工上班都会用到电脑,工作中形成的一些重要文件也都直接存储在单位的电脑或服务器上,如何保护这些文件的安全就显得至关重要.尤其是,当员工不小心或故意删除文件的情况下,或者他人恶意删除文件 ...

  7. android 阻止文件生成方法,禁止软件创建文件夹 禁止创建文件夹

    安卓 怎么阻止软件在文件夹中创建文件 首先说明,Android软件之所以会在文件夹中创建文件,大多数是为了做软件缓存,防止反复的从服务器读取数据,照成用户流量浪费,如果强制的阻止可能会让软件报错. 一 ...

  8. window、linux、mac 文件路径禁止字符, 路径长度【全网总结】

    参考: https://9to5answer.com/what-characters-are-forbidden-in-windows-and-linux-directory-names https: ...

  9. ftp服务器文件防盗链,IIS防盗链组件

    一个用于防盗链和限制IIS连接线程的组件,需要IIS用ISAPI的方式加载组件,在2003服务器上测试2008服务器的话需要安装ISAPI扩展. 相关软件软件大小版本说明下载地址 一个用于防盗链和限制 ...

最新文章

  1. linux线程堆分配,如何在Linux中的相同进程下为线程分配堆栈或内存
  2. z-index的最大值、最小值
  3. Win10一周更新系统开始面向企业分支推送
  4. 十 Java集合框架(2):Set接口
  5. java-- properties总结
  6. yii2 migrate 数据库迁移的简单分享
  7. windows下vagrant的安装使用
  8. vue如何输出一个值_如何利用vue获取当前点击的元素并传值(图文教程) -
  9. github(GitHub Flavored Markdown)
  10. Tomcat结合nginx使用案例
  11. 已加密的PDF怎么解密?只要学会这两招即可轻松解密
  12. 一个傻瓜式构建可视化 web的 Python 神器 -- streamlit 教程
  13. 1+X云计算平台运维与开发认证(初级)样卷C
  14. linux DSA 开发上手笔记(一)
  15. 使用计算机网络时mad的作用,计算机网络基础试题库7
  16. 官宣,港珠澳大桥终于来了
  17. SOFTICE 初使用
  18. 白帽黑客和安全研究员必备——网安基础问答25例
  19. Java HTML导出PDF (二)
  20. Visual Studio 2019 卸载干净+下载安装方法 2021-5-7

热门文章

  1. 同一进程中的线程究竟共享哪些资源
  2. 球球大作战测试服android版,球球大作战10.0体验服
  3. linux gcc matlab,Linux Matlab mex gcc 版本
  4. 冷知识:摄影艺术与图像处理算法之间的纠葛关系你知道吗
  5. ds哈希查找—二次探测再散列_大白话之哈希表和哈希算法
  6. 教你玩转CSS 分组选择器和嵌套选择器
  7. Bash脚本教程之引号和转义
  8. 红队技巧-域渗透的协议利用
  9. 手机计算机数字显示在桌面上,手机计算器有哪些使用方法
  10. http 路径 |_HTTP 请求與响应的格式及 curl 命令使用