什么是补充的最佳途径“过期” HTTP标头中的静态内容? 例如。 图片,CSS,JS
Web服务器是IIS 6.0; 语言是经典ASP
什么是补充的最佳途径“过期” HTTP标头中的静态内容? 例如。 图片,CSS,JS
Web服务器是IIS 6.0; 语言是经典ASP
你可以尝试这样的事:
@ECHO OFF
REM ---------------------------------------------------------------------------
REM Caching - sets the caching on static files in a web site
REM syntax
REM Caching.CMD 1 d:\sites\MySite\WWWRoot\*.CSS
REM
REM %1 is the WebSite ID
REM %2 is the path & Wildcard - for example, d:\sites\MySite\WWWRoot\*.CSS
REM _adsutil is the path to ADSUtil.VBS
REM ---------------------------------------------------------------------------
SETLOCAL
SET _adsutil=D:\Apps\Scripts\adsutil.vbs
FOR %%i IN (%2) DO (
ECHO Setting Caching on %%~ni%%~xi
CSCRIPT %_adsutil% CREATE W3SVC/%1/root/%%~ni%%~xi "IIsWebFile"
CSCRIPT %_adsutil% SET W3SVC/%1/root/%%~ni%%~xi/HttpExpires "D, 0x69780"
ECHO.
)
其设置在Web根每个CSS文件,以5天的缓存值,然后像这样运行它:
Caching.CMD 1 \site\wwwroot\*.css
Caching.CMD 1 \site\wwwroot\*.js
Caching.CMD 1 \site\wwwroot\*.html
Caching.CMD 1 \site\wwwroot\*.htm
Caching.CMD 1 \site\wwwroot\*.gif
Caching.CMD 1 \site\wwwroot\*.jpg
那种痛苦,但是可行的。
顺便说一句 - 以获取HttpExpires值,在GUI中设置的值,然后运行
AdsUtil.vbs ENUM W3SVC/1/root/File.txt
得到你所需要的实际值
我觉得这是你以后,它在IIS管理器中的HTTP头内容过期。 我喜欢用〜/资源文件夹下露了静态内容和设置对特定文件夹到期的模式有一个比应用程序的其它部分更长的寿命。
下面是完整的文章的链接: IIS 6.0 F1:网站属性- HTTP头选项卡
对于其他人从谷歌来:这不会在IIS6工作 ,但在7及以上的作品。
在你的web.config:
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
在IIS管理你可以将它设置为每个文件类型也可以(动态的像C ++)做到这一点的代码。 之后,你有它设置,您需要检查与像Mozilla Firefox浏览器+动态组头插件工具输出头-或者你可以用这样一个基于Web的工具http://www.httpviewer.net/
我不知道如果这是你在找什么,但它确实让我的网页被缓存。
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="Cache-Control" CONTENT="max-age=0">
我从这些线路上的一篇文章,我不再有一个参考。
可怕的解决方案,第一个命令与ADSUTIL创建将失败,错误-2147024713(0x800700B7),因为你试图在文件创建已经存在。
谢谢。