terça-feira, 12 de abril de 2011

Cache

Existe algum truque para usar .js e includes de cascading style shhets (CSS) de modo que sejam armazenados em cache, em vez de buscá-los quando houver uma solicitação?

Para conseguir esse tipo de caching, você pode ativar a expiração de conteúdo, usando a folha de propriedades HTTP Headers no snap-in administrativo do IIS, marcando a caixa de seleção Enable Content Expiration. Isso marcará a resposta HTTP usando um header Expires. Você também pode usar o Cache-Control para obter o mesmo efeito se usar ASP, ASP.NET, PHP e assim por diante.

O Microsoft Internet Explorer suporta a tag META, que pode ser usada para um objetivo semelhante, mas o HTTP Response Header ainda é a maneira preferida de conseguir isso. Com ele, nenhum conteúdo HTML precisa ser atualizado e a configuração pode ser aplicada globalmente em um site, Virtual Root, ou base de arquivos no IIS.

Para apresentar um exemplo de um site que se comporta muito bem no que diz respeito a caching de objetos, use um proxy de depuração HTTP com o Fiddler, que registra todo o tráfego HTTP entre o cliente e o servidor web, e visite office.microsoft.com. Quando você analisar os resultados no Fiddler, na coluna EXPIRES a maioria dos objetos terá um conjunto Expiration e não será solicitada novamente. Você notará que o Office Online envia uma data HTTP/1.0 EXPIRES (por exemplo, Mon, 01 Nov 2010) ou um header HTTP/1.1 Cache-Control (por exemplo, max-age=86400) nas transações.

0 comentários: