faz com que o IIS 7.5 armazene arquivos de conteúdo estático em cache sobre páginas diferentes

2

Em um Windows 2008 R2, usando DNS e IIS, estabeleci meu servidor de teste de desenvolvimento; Ou seja, eu terei um aplicativo da web que eu possa navegar no link

Mudei todos os arquivos de conteúdo estático, como imagens, arquivos js e arquivos css, para outro aplicativo visível no link

test.dev, usa URLs de cdn.test.dev como link para carregar js, css e imagens.

Quando eu carregar primeiro "~ /" do test.dev, todos os arquivos serão carregados com um código de resposta de 200; quando eu pressionar F5 no Firefox, todos os arquivos, exceto o "~ / default.aspx", serão carregados com o código de resposta 304; mas pressionar Ctrl + F5 os carrega novamente com um código 200; se eu procurar outro URL como "~ / pages /" no test.dev, todos esses arquivos estáticos serão recarregados com um código 200 ... Isso é normal ou estou fazendo algo errado

Na verdade, estou procurando um comportamento como este:
Eu quero que o cliente carregue o link , apenas uma vez. Eu quero que o navegador do cliente use este arquivo jquery.js, do cache, em todas as outras páginas do test.dev

Isso é possível ?

Este é o arquivo web.config que tenho no diretório raiz do cdn.test.dev:

<configuration>
    <system.webServer>
        <caching>
            <profiles>
                <add extension=".png" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client" />
                <add extension=".gif" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client" />
                <add extension=".jpg" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client" />
                <add extension=".js" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client" />
                <add extension=".css" policy="CacheUntilChange" varyByHeaders="User-Agent" location="Client" />
                <add extension=".axd" kernelCachePolicy="CacheUntilChange" varyByHeaders="User-Agent" location="Client" />
            </profiles>
        </caching>
        <httpProtocol allowKeepAlive="true">
            <customHeaders>
                <add name="Cache-Control" value="public, max-age=31536000" />
            </customHeaders>
        </httpProtocol>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
            <remove name="RadUploadModule" />
            <remove name="RadCompression" />
            <add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule" preCondition="integratedMode" />
            <add name="RadCompression" type="Telerik.Web.UI.RadCompression" preCondition="integratedMode" />
        </modules>
        <handlers>
            <remove name="ChartImage_axd" />
            <remove name="Telerik_Web_UI_SpellCheckHandler_axd" />
            <remove name="Telerik_Web_UI_DialogHandler_aspx" />
            <remove name="Telerik_RadUploadProgressHandler_ashx" />
            <remove name="Telerik_Web_UI_WebResource_axd" />
            <add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode" />
            <add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode" />
            <add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode" />
            <add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode" />
            <add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode" />
        </handlers>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="10485760" />
            </requestFiltering>
        </security>
        <staticContent>
           <clientCache cacheControlMode="UseExpires" httpExpires="Wed, 01 Jan 2020 00:00:00 GMT"/>
        </staticContent>
    </system.webServer>
    <appSettings />
    <system.web>
        <compilation debug="false" targetFramework="4.0" />
        <pages>
            <controls>
                <add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI" />
            </controls>
        </pages>
        <httpHandlers>
            <add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false" />
            <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false" />
            <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" />
            <add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false" />
            <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
        </httpHandlers>
        <httpModules>
            <add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule" />
            <add name="RadCompression" type="Telerik.Web.UI.RadCompression" />
        </httpModules>
        <httpRuntime maxRequestLength="10240" />
    </system.web>
</configuration>

e este é o cabeçalho de resposta resultante para o link :

Cache-Control: private,public, max-age=31536000
Content-Type: text/css
Content-Encoding: gzip
Expires: Wed, 01 Jan 2020 00:00:00 GMT
Last-Modified: Mon, 06 Sep 2010 08:53:06 GMT
Accept-Ranges: bytes
Etag: "0454eca04dcb1:0"
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Mon, 06 Sep 2010 14:57:08 GMT
Content-Length: 4495

    
por Achilles 06.09.2010 / 16:22

1 resposta

1

When I first load "~/" of test.dev, all files will load with a response code of 200; when I press F5 in Firefox, all files, except the "~/default.aspx", will load with 304 response code; but pressing Ctrl+F5 loads them again with a 200 code; if I browse another url like "~/pages/" in test.dev, all of those static files will reload with a 200 code... Is this normal or I'm doing something wrong?

No firefox (e na maioria dos outros navegadores) shift + F5 recarrega o site ignorando o cache.

    
por 08.12.2010 / 09:15

Tags