扬州城市论坛 百科 如何禁止IIS缓存静态文件(png、js、html)

如何禁止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缓存静态文件(png、js、html)打开IIS,然后打开IIS属性页并选中“允许直接编辑配置数据库”选项

2.在运行中输入Notepad C:\ Windows \ System32 \ inetsrv \ metabase . XML以打开IIS配置文件。

3.在文件中搜索禁止配置缓存的虚拟目录的名称,并找到如下所示的配置部分

access flags=' access read access script '

AppFriendlyName='inc '

AppIsolated='2 '

AppRoot='/LM/W3SVC/1832041641/Root/Inc '

DirBrowseFlags=' DirBrowseShowDate DirBrowseShowTime dirbrowseshowsesize DirBrowseShowExtension DirBrowseShowLongDate EnableDefaultDoc '

Path='D:\publish\inc '

>

在IIsWebVirtualDir配置节中添加MD _ VR _ no _ cache="1 "属性。

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

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

编辑注册表中的DisableStaticFileCache值,0表示启用,1表示禁用。键值的位置是HKEY _本地_机器\系统\当前控制集\服务\ inetinfo \参数。

如果该键不存在,可以创建它。

注意事项:

通常,我们不需要禁用iis的静态文件缓存。IIS会根据静态文件的修改时间自动更新缓存。只有在遇到异常情况时,才需要禁用IIS缓存。IIS缓存与Http缓存相关的头无关。向IIS添加缓存头无法清除IIS的静态文件缓存。

本文来自网络,不代表本站立场,转载请注明出处:https://baike.yzcslt.com/n/a2308.html

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

扬州城市论坛后续将为您提供丰富、全面的关于如何禁止IIS缓存静态文件(png、js、html)内容,让您第一时间了解到关于如何禁止IIS缓存静态文件(png、js、html)的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。