IIS 和静态内容?

IIS 和静态内容?

浏览器从服务器检索的文件应尽可能长时间存储在浏览器的缓存中,以帮助最大限度地减少服务器往返。

  • 但是 IIS 如何知道什么实际上是静态内容 什么不是呢?

    它只是图像,css,js吗并不是ASPX,ashx……?

    在哪里我是否可以在 IIS 中看到已被视为静止的还有什么不是

  • 那么,如果页面声明了<%@ OutputCacheheader(不带location),那么场景又如何呢?其中的图像、css、js src 文件是否也被输出缓存了?

  • 作为最佳实践,我应该将未来一年设置为最大到期时间。我应该将其用作网站上所有静态内容的默认设置

所以我这样做了:

在此处输入图片描述

但后来,经过催促OK,我找不到 摘要菜单显示:给谁 我已经放了响应标头(在本例中是:css文件夹)。

现在,为了看到该css文件夹​​已经应用了响应标头 - 我必须转到该css文件夹再次 -->Http Response Header-->设置 Common Headers-->然后我就看到了。它没有写在 web.config 中。

如果我对文件执行此操作(Login.aspx例如):我确实在 web.config 中看到它:

<configuration>
    <location path="Login.aspx">
        <system.webServer>
            <staticContent>
                <clientCache cacheControlMode="UseExpires" cacheControlMaxAge="1.00:00:00" httpExpires="Fri, 15 Feb 2013 00:00:00 GMT" />
            </staticContent>
        </system.webServer>
    </location>
</configuration>

答案1

按 Windows+R 并粘贴:

notepad %systemroot%\System32\inetsrv\config\applicationHost.config

这将显示 IIS 的主配置文件:

您在 IIS UI 中所做的大多数未写入 web.config 的更改都保存在这里。

最后是一个“处理程序”节点,它定义如何处理各种文件类型,路径属性中未列出的所有扩展名都被视为静态文件,并由最后一个条目处理:“name =“StaticFile”'

您对缓存的更改将进一步在“站点”或“位置”节点内进行。

不要直接更改此文件,因为无论如何由于 UAC 您都无法进行更改。

如何选择缓存策略取决于您的内容。您真的能确定某些资源一年内不会改变吗?

OutputCache 指令针对的是页面本身,任何链接的内容都是由客户端独立请求的,因此您也必须为它们设置缓存。

相关内容