2013-03-19 7 views
7

Ich habe folgendes web.config:IIS 7.5 Static Content Compression (nicht konsistent)

<urlCompression doStaticCompression="true" /> 
     <httpCompression> 
      <dynamicTypes> 
       <add mimeType="text/*" enabled="true" /> 
       <add mimeType="message/*" enabled="true" /> 
       <add mimeType="application/javascript" enabled="true" /> 
       <add mimeType="*/*" enabled="false" /> 
      </dynamicTypes> 
      <staticTypes> 
       <add mimeType="text/*" enabled="true" /> 
       <add mimeType="message/*" enabled="true" /> 
       <add mimeType="application/javascript" enabled="true" /> 
       <add mimeType="*/*" enabled="false" /> 
      </staticTypes> 
     </httpCompression> 

Mai Plan erlaubt es nicht, dynamische Kompression

Das Problem ist, wenn ich CSS oder js anfordern, IIS antworte mit GZIP und füge vary hinzu: accept-encoding irgendwann und andere Zeit komprimiert weder CSS noch JS, ich finde das Muster nicht zufällig.

Ich versuche immer STRG F5, auch wenn Sie www.mysite.com zugreifen css und js sind zufällig komprimiert oder nicht.

Hinweis: gehostet auf NetworkSolution.

Was ist falsch mit meiner Konfig oder IIS.

Dank

+0

Wenn ich versuche, http://cdn.novopath.com/content/css/master.css auf http://www.whatsmyip.org/http-compression-test/ sagt das erste Mal nicht komprimiert das zweite Mal sagt komprimiert! – Sameh

Antwort

15

Nach vieler Suche finde ich schließlich, was Kompression bekam 7,5 konsequenten auf meinem IIS arbeiten. Zunächst komprimiert IIS eine Datei nicht, wenn sie nicht oft genug geladen wird. Das wirft die Frage auf: "Was denkt IIS oft genug?" Nun, die Voreinstellungen sind 2 mal alle 10 Sekunden. Huch!

Diese Einstellung kann in web.config geändert werden, aber der Abschnitt muss zuerst in applicationHost.config entsperrt werden. Hier sind die Befehle:

zuerst den Abschnitt entsperren:

C: \ Windows \ System32 \ inetsrv \ appcmd.exe Unlock Config /section:system.webServer/serverRuntime

entriegelte Abschnitt "system.webServer/serverRuntime" im Konfigurationspfad "MACHINE/WEBROOT/APPHOST".

nun das getan wird, bearbeiten Sie die Datei web.config

<?xml version="1.0" encoding="UTF-8"?> <configuration> 
    <system.webServer> 
     <serverRuntime frequentHitThreshold="1" frequentHitTimePeriod="10:00:00" /> 
     ... 

In diesem Fall, habe ich die Datei einmal in einem 10-Stunden-Zeitraum zu treffen. Sie können die Werte nach Bedarf anpassen. Hier ist das Dokument, das das serverRuntime Element erklärt:

http://www.iis.net/configreference/system.webserver/serverruntime

Ich hoffe, dass dies Ihre Kompression richtig funktioniert erhalten hilft.

+0

Ich habe kürzlich eine Antwort hier gegeben, die ein wenig mehr Erklärung liefern wird: http://stackoverflow.com/questions/14796225/gzip-js-in-iis-doesnt-get-compressed-if-static-compression-enabled/24906331 # 24906331 – ianbeks

+0

gilt dies auch für die dynamische Inhaltskomprimierung? – TheQult

Verwandte Themen