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

2023-08-29 0 3,706 百度已收录

禁用 IIS 缓存静态文件(png、js、html 等)背景:

为了提高性能,IIS内部默认会缓存js、html、gif、png等静态文件。 该缓存存储在服务器iis进程的视频内存中。 IIS这样做可以大大提高静态文件的访问性能。 一般情况下,只要静态文件更新了,IIS也会更新缓存。 但如果更新的静态文件较多,则缓存可能不会更新。

車輛改道:

我遇到过这样的场景,服务器循环更新几万张股市图片html禁止缓存,IIS也会缓存这些图片。 由于更新频率高,文件数量大,更新IIS缓存文件很难超过几十分钟。 健康)状况。

这时,直觉是浏览器缓存了该文件,因此它在IIS目录上设置Http标头:Cache-Control: no-cache,但没有帮助。 浏览器请求服务器得到的状态号是200,这可以说明浏览器确实是从服务器端获取新内容,而不是去读取浏览器本地缓存。

如何严格禁止IIS缓存静态文件(png、js、html等):

通过设置Http header来阻止浏览器缓存的方法在这种场景下就不起作用了,因为缓存的不是出现的客户端,而是IIS服务器; 所以要解决这个问题,我们需要从IIS本身入手,通过配置Metabase。 xml文件严格禁止IIS在相应目录中缓存静态文件。

1.首先需要设置IIS允许在运行时编辑Metabase.xml文件

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

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

2、运行时输入记事本c:WINDOWSsystem32inetsrvMetaBase.xml打开IIS配置文件

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

复制代码代码如下:

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

AccessFlags="AccessRead | AccessScript"

应用程序友好名称 =“inc”

应用程序隔离=“2”

AppRoot =“/LM/W3SVC/1832041641/根/inc”

DirBrowseFlags=”DirBrowseShowDate | DirBrowseShowTime | 目录浏览显示时间目录浏览显示大小 |

DirBrowseShowExtension | 目录浏览显示扩展 DirBrowseShowLongDate | 目录浏览启用默认文档”

路径=”D:publishinc”

在 IIsWebVirtualDir 配置部分添加 MD_VR_NO_CACHE="1" 属性

4. 保存配置文件并重新启动IIS。

如果要将服务器上的所有站点配置为禁用 IIS 缓存,可以通过更改注册表来实现:

编辑注册表中的DisableStaticFileCache值,0为启用,1为禁用,通配符的位置位于:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesInetInfoParameters

如果该键不存在html禁止缓存,则可以创建一个新的双字。

防范措施:

通常情况下,我们不需要禁用IIS的静态文件缓存,iis会根据静态文件的变化时间手动更新缓存; 只有遇到特殊情况才需要禁用IIS缓存。 IIS 缓存与 Http 缓存相关标头无关。 向 IIS 添加缓存标头不会删除 IIS 对静态文件的缓存。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 html html禁止缓存-禁止IIS缓存静态文件(png、js、html等)的方法 https://www.wkzy.net/game/182714.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务