Wie kann ich IIS7 aktivieren, um statische Dateien wie js und css zu gzipen, und wie kann ich testen, ob IIS7 sie wirklich gzipet, bevor ich sie an den Client sende?
quelle
Wie kann ich IIS7 aktivieren, um statische Dateien wie js und css zu gzipen, und wie kann ich testen, ob IIS7 sie wirklich gzipet, bevor ich sie an den Client sende?
Sie können die GZIP-Komprimierung vollständig in Ihrer Web.config
Datei aktivieren . Dies ist besonders nützlich, wenn Sie Shared Hosting verwenden und IIS nicht direkt konfigurieren können oder wenn Sie möchten, dass Ihre Konfiguration zwischen allen Umgebungen übertragen wird, auf die Sie abzielen.
<system.webServer>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
<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>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
</system.webServer>
Verwenden Sie die Entwicklertools in Chrome oder Firebug für Firefox, um zu testen, ob die Komprimierung funktioniert oder nicht, und stellen Sie sicher, dass der HTTP-Antwortheader festgelegt ist:
Content-Encoding: gzip
Beachten Sie, dass dieser Header nicht vorhanden ist, wenn der Antwortcode 304 (nicht geändert) lautet. Wenn dies der Fall ist, führen Sie eine vollständige Aktualisierung durch (halten Sie die Umschalt- oder Steuertaste gedrückt, während Sie die Aktualisierungstaste drücken) und überprüfen Sie sie erneut.
.js
nicht wahr? Auch versucht hinzuzufügenapplication/x-javascript
. Bei Verwendung zusammen mit Tomcat wurde daher derdirectory
Parameter entfernt.Sie müssen die Funktion in der Systemsteuerung für Windows-Funktionen aktivieren:
quelle
Globales Gzip in HttpModule
Wenn Sie keinen Zugriff auf die endgültige IIS-Instanz haben (Shared Hosting ...), können Sie ein HttpModule erstellen, das diesen Code zu jedem HttpApplication.Begin_Request-Ereignis hinzufügt:
Testen
Ein dickes Lob, ohne Test wird keine Lösung gefunden. Ich verwende gerne das Firefox-Plugin " Liveheaders ", das alle Informationen zu jeder http-Nachricht zwischen Browser und Server anzeigt , einschließlich Komprimierung und Dateigröße (die Sie mit der Dateigröße auf dem Server vergleichen können).
quelle
unter windows 2012 r2 finden Sie hier:
quelle
Ich musste die Funktion nur in Windows-Funktionen hinzufügen, wie Charlie erwähnt hat. Für Leute, die sie unter Windows 10 oder Server 2012+ nicht finden können, finden Sie sie wie folgt. Ich kämpfte ein bisschen
Windows 10
Windows Server 2012 R2
Fensterserver 2016
quelle
Wenn Sie YSlow mit Firebug verwenden und die Leistung Ihrer Seite analysieren, wird YSlow Ihnen mit Sicherheit mitteilen, welche Artefakte auf Ihrer Seite nicht gzip'd sind!
quelle
Wenn Sie auch versuchen, dynamische Seiten (wie aspx) zu gzipen, und dies nicht funktioniert, liegt dies wahrscheinlich daran, dass die Option nicht aktiviert ist (Sie müssen das Modul zur dynamischen Inhaltskomprimierung mithilfe der Windows-Funktionen installieren):
http://support.esri.com/de/knowledgebase/techarticles/detail/38616
quelle
Eine weitere einfache Möglichkeit zum Testen ohne Installation ist auch nicht von der IIS-Version abhängig. Fügen Sie Ihre URL in diesen Link ein - SEO Checkup
So fügen Sie web.config hinzu: http://www.iis.net/configreference/system.webserver/httpcompression
quelle
Probieren Sie Firefox mit installierten Firebug-Addons aus. Ich benutze es; tolles Tool für Webentwickler.
Ich habe die Gzip-Komprimierung auch in meinem IIS7 mit web.config aktiviert.
quelle
Für alle armen Jungs, die mit einem deutschen / deutschen Server zu kämpfen haben :)
quelle