IIS Settings para permitir a compactação dinâmica

1

Um servidor não está compactando dinamicamente os arquivos js e css. O que é estranho é que quando isso é testado em outros 3 servidores, funciona bem

O que acontece é que as solicitações em todos os ambientes especificam que aceitam a codificação GZIP, mas a diferença é que a saída no servidor não especifica a codificação de conteúdo GZIP, mas os outros ambientes o fazem.

Temos um script dinâmico que está definindo o conteúdo e a codificação de conteúdo, e novamente isso está funcionando bem em todos os ambientes, exceto este servidor. Então estou pensando que isso é um problema do IIS. Por isso, copiei fisicamente os elementos de compactação do MetaBase.xml no servidor que não está funcionando e colei-os em minha máquina local para tentar replicar e não posso.

Cada configuração parece adequada para permitir a compactação, mas por qualquer motivo, neste servidor, ela não está percebendo o Cabeçalho de Resposta que está sendo adicionado, que é o seguinte:

"Content-encoding", "gzip"

TIA

Andrew

    
por REA_ANDREW 16.02.2010 / 13:09

1 resposta

2

A simples definição do cabeçalho de resposta por meio do script não faz nada para "ativar" a compactação. Apenas adiciona o cabeçalho, o que você não quer fazer. O IIS deve adicionar o próprio cabeçalho ao comprimir.

Você precisa ativar a compactação na camada do IIS para ativos dinâmicos e estáticos. Você pode ativar isso por meio da interface do usuário no nível do servidor da Web e refinar as configurações na metabase. Por padrão, no IIS6, somente os arquivos ASP, EXE e DLL têm sua saída compactada quando você ativa a compactação dinâmica. Observe a ausência visível de ASPX!

Aqui está a configuração da metabase que eu uso para compressão no IIS6 (alguns valores definidos via interface do usuário, outros editados à mão).

    <IIsFilter  Location ="/LM/W3SVC/Filters/Compression"
    >
</IIsFilter>
<IIsCompressionScheme   Location ="/LM/W3SVC/Filters/Compression/deflate"
        HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
        HcCreateFlags="0"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="TRUE"
        HcDynamicCompressionLevel="4"
        HcFileExtensions="htm
            html
            txt
            css
            js
            xml"
        HcOnDemandCompLevel="10"
        HcPriority="1"
        HcScriptFileExtensions="asp
            aspx
            dll
            exe"
    >
</IIsCompressionScheme>
<IIsCompressionScheme   Location ="/LM/W3SVC/Filters/Compression/gzip"
        HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
        HcCreateFlags="1"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="TRUE"
        HcDynamicCompressionLevel="4"
        HcFileExtensions="htm
            html
            txt
            css
            js
            xml"
        HcOnDemandCompLevel="10"
        HcPriority="1"
        HcScriptFileExtensions="asp
            aspx
            dll
            exe"
    >
</IIsCompressionScheme>
<IIsCompressionSchemes  Location ="/LM/W3SVC/Filters/Compression/Parameters"
        HcCacheControlHeader="max-age=86400"
        HcCompressionBufferSize="8192"
        HcCompressionDirectory="c:\temp\IIS_temp_compressed"
        HcDoDiskSpaceLimiting="TRUE"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="TRUE"
        HcExpiresHeader="Wed, 01 Jan 1997 12:00:00 GMT"
        HcFilesDeletedPerDiskFree="256"
        HcIoBufferSize="8192"
        HcMaxDiskSpaceUsage="99614720"
        HcMaxQueueLength="1000"
        HcMinFileSizeForComp="1"
        HcNoCompressionForHttp10="TRUE"
        HcNoCompressionForProxies="FALSE"
        HcNoCompressionForRange="FALSE"
        HcSendCacheHeaders="FALSE"
    >
</IIsCompressionSchemes>
    
por 16.02.2010 / 15:07