2010-02-04 4 views
7

Ho configurato IIS7 per gzip il contenuto statico.In IIS7, i file compressi con gzip non rimangono in questo modo

http://www.coderjournal.com/2008/04/iis-7-compress-javascript-gzip/

Tuttavia, i file non "rimanere" gzip.

Ecco il mio caso d'uso: file di test.css

  1. Request. Non è gzip.
  2. Richiedilo nuovamente entro pochi secondi. È è gzip.
  3. Attendere 5 minuti.
  4. Richiedi di nuovo il file test.css. Non è gzip.

Questo non ha senso - la versione gzip di un file statico non dovrebbe essere consegnata su tutte le richieste successive, se l'originale non è stato modificato?

Nota: sto utilizzando Firefox e Firebug per verificare il contenuto gzip controllando l'intestazione Content-Encoding.

risposta

9

Secondo questo articolo:

Changes to compression in IIS7 da Kanwaljeet Singla

in IIS7, il contenuto è compresso seconda è colpito frequenza che è configurabile come questo:

<system.webServer> 
    <serverRuntime enabled="true" 
    frequentHitThreshold="5" 
    frequentHitTimePeriod="00:00:20" /> 
</system.webServer> 

Forse non stai colpendo queste soglie?

+0

Ciò potrebbe essere correlato, ma perché il file gzippato scompare dopo 5 minuti? – frankadelic

+0

frankadelic: ho impostato lo stesso nella mia configurazione web. ma gzip è disabilitato dopo 2 o 3 richieste. –

1

A seconda di quanto sia necessario ottimizzare le prestazioni sul proprio sito, è preferibile utilizzare Combres.

Il grande vantaggio è che si limita e gzip solo i file javascript, ma combina anche tutti i file in uno, quindi c'è solo una richiesta http per tutti i file javascript. Inoltre, fa anche uso della memorizzazione nella cache sul lato client, in modo che il file venga scaricato solo quando necessario. Inoltre, fa tutto questo anche per i file CSS.

È abbastanza facile da configurare, quindi, invece di provare a risolvere questo problema, il tuo tempo potrebbe essere speso meglio per ottenere invece Combres.

+0

È possibile utilizzare Combres senza utilizzare la sintassi <%= %> nelle pagine ASPX? Per la mia soluzione, ho pagine con CompilationMode = "Mai" quindi questi tag non funzioneranno per me. – frankadelic

+0

No, non funzionerebbe. In questo caso probabilmente farei minifying/gzip/impacchettare tutte le risorse in un unico file e collegarlo staticamente. –

+0

Combres sembra figo ...forse una versione futura supporterà la sintassi di Expression Builder. – frankadelic

-1

Vorrei suggerire di prestare attenzione a un altro software: Helicon Ape http://www.helicontech.com/ape È gratuito per 3 siti Web e include soluzioni di compressione/cache che funzionano senza intoppi. Proprio in una stringa di configurazione si otterrà gzip e la cache abilitati:

SetEnvIfNoCase mime text/.* gzip=9 cache-enable=mem 

La regola di cui sopra dice Ape per comprimere testo/* tipi MIME con il più alto livello così come le cache in memoria. Basta fare un tentativo.