Os administradores da Web talvez precise desativar periodicamente o o cache de conteúdo que as alterações freqüentes. Este artigo descreve um método para desativar o cache dos tipos de documento.
MIME significa "Multipurpose Internet Mail Extensions," que se refere a uma forma de clientes de email ou configurando navegadores para exibir arquivos que estão em vários formatos com base em um "tipo MIME". "O mapeamento de MIME" é um processo pelo qual Internet Information Server (IIS) "mapeia" arquivos por suas extensões para um determinado tipo MIME. Por exemplo, um arquivo com a extensão .htm tem um tipo MIME de "text/html", enquanto um arquivo com extensão .gif tem um tipo de MIME de "imagem/gif".
Quando uma solicitação é feita por um cliente para um arquivo específico, o IIS usa o mapa MIME para determinar o tipo MIME correto para informar um cliente estará recebendo. IIS contém uma grande lista de tipos MIME padrão para usar e retornará um tipo MIME de "application/octet-stream" para qualquer extensão de arquivo que não é explicitamente mapeado.
Desativar técnicas do cache
- A maneira mais fácil para desabilitar o cache de um determinado tipo MIME é criar pastas com base nos tipos para desativar e, em seguida, definir cabeçalhos personalizados para essas pastas. Por exemplo, as etapas a seguir serão desabilitar o cache de arquivos em uma pasta de imagens:
- Crie uma pasta na sua pasta Wwwroot chamada imagens .
- Abra o Gerenciador de serviços da Internet (ISM).
- Localize a pasta imagens em seu site padrão.
- Clique com o botão direito na pasta imagens e selecione Propriedades .
- Selecione a guia Cabeçalhos HTTP .
- Clique em Adicionar na seção Cabeçalhos HTTP personalizados .
- Adicione um cabeçalho chamado Cache-Control com um valor de não-cache .
- Clique em ok para aplicar as alterações.
Ao criar o conteúdo, todos os arquivos armazenados nesta pasta serão armazenados em não cache. Isso é especialmente útil ao trabalhar com imagens que são atualizadas com freqüência.
- As seguintes etapas descrevem um método sem suporte de fazer o IIS usando Windows Scripting Host (WSH) e Active Directory Service Interfaces (ADSI) para retornar um cabeçalho "não-cache" para um tipo MIME específico, nesse caso .gif arquivos, para um servidor da Web inteiro, modificando a metabase do IIS.
Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades. Para obter mais informações sobre as opções de suporte estão disponíveis e sobre como entrar em contato com a Microsoft, visite o seguinte site:
- Salvar o código a seguir WSH na pasta % SystemDrive % \InetPub\AdminScripts como MimeChange.vbs :
Option Explicit
Dim boolFound
Dim intCount
Dim intMimeMap
Dim objMimeMap
Dim varMimeMap
Dim varMimeExt
Dim varMimeTyp
' specify the extension and MIME type to work with
varMimeExt = ".gif"
' NOTE - this entry stores an extra HTTP header with the MIME information
' this "tricks" IIS into sending the extra cache control header
varMimeTyp = "image/gif" & vbCrLf & "Cache-Control: no-cache"
' create the ADSI object & current MIME map at that path
Set objMimeMap = GetObject("IIS://localhost/w3svc")
varMimeMap = objMimeMap.GetEx("MimeMap")
' get the MIME map count & set search status to false
intCount = UBound(varMimeMap) + 1
boolFound = False
' loop through MIME map searching for existing extension information
For intMimeMap = 0 to intCount - 1
If varMimeMap(intMimeMap).Extension = varMimeExt Then
boolFound = True
Exit For
End If
Next
' if no extension information is found, create the new mapping
If boolFound = False Then
intMimeMap = intCount
ReDim Preserve varMimeMap(intMimeMap)
Set varMimeMap(intMimeMap) = CreateObject("MimeMap")
varMimeMap(intMimeMap).Extension = varMimeExt
End If
' store the new information in the MIME map
varMimeMap(intMimeMap).MimeType = varMimeTyp
objMimeMap.PutEx 2,"MimeMap",varMimeMap
objMimeMap.SetInfo
- Execute o seguinte comando para modificar a metabase: CSCRIPT %SystemDrive%\InetPub\AdminScripts\MimeChange.vbs
Solicitações futuras para arquivos .gif serão agora retornado com o cabeçalho "não-cache" desejado.