2016-07-28 1 views
1

Ich verwende die von IIS bereitgestellte HTTP-Komprimierung, um statische und dynamische Inhalte meiner Websites zu komprimieren. Ich sehe, dass der entpackte Inhalt an den Browser zurückgegeben wird (Content-Encoding-Header in Antwort zeigt gzip). Alle meine Anwendungspools verwenden die Netzwerkdienstidentität und ich habe dem Netzwerkdienst die volle Kontrolle über den Komprimierungsordner (D: \ Compression) gegeben. Ich habe staticCompressionIgnoreHitFrequency im Konfigurationseditor => system.webServer => httpCompression location auf True gesetzt.Fehlende HTTP-Komprimierungsdateien

Das Problem ist, ich sehe Ordner im Ordner Komprimierung erstellt, aber keine Dateien in denen.

+0

Verwenden Sie FREB, um herauszufinden, warum statische Komprimierung nicht wie erwartet funktioniert, siehe [meine Antwort] (http://stackoverflow.com/questions/38638490/gzip-not-working-server-2012-iis-8/38639574 # 38639574) –

+0

Danke @PeterHahndorf. Ich habe auf fehlgeschlagene Anfrageprotokolle verwiesen und festgestellt, dass der Grund NO_MATCHING_CONTENT_TYPE ist. Nicht sicher, warum bekomme ich es? Ich habe bereits 'text/*' Mime-Typ in statischen und dynamischen Abschnitten meiner applicationHost.config-Datei aktiviert. Nur um zu testen, habe ich '*/*' auch aktiviert, aber immer noch diesen Fehler bekommen. Ich habe den IIS neu gestartet, nachdem ich diese Änderungen vorgenommen habe. –

+0

Sorry @PeterHahndorf. Vergessen zu erwähnen, dass ich auf eine aspx-Seite zugreife, so dass dies kein Problem sein sollte, da es text/html als Mime-Typ hat, wenn es an den Client zurückgegeben wird. –

Antwort

0

Ich denke, was Sie sehen, ist das erwartete Verhalten.

Die komprimierten Dateien in sind nur für komprimierte statische Dateien vorhanden, die vom StaticCompressionModule komprimiert und normalerweise vom StaticFileModule verarbeitet werden.

Alle Anforderungen, die von Anwendungsframeworks wie ASP.NET bearbeitet werden, werden vom StaticCompressionModule nicht von Entwurf verarbeitet. Sie können vom DynamicCompressionModule verarbeitet werden, aber dieses Modul schreibt keine Dateien auf die Festplatte.

Sie können dies testen, indem Sie eine große Datei test.html zu schaffen, schlug es ein paar Mal, eine komprimierte Version in temp\IIS Temporary Compressed Files Show wird nun eine Kopie dieser Datei getroffen macht mit einem Namen test.aspx, dass man es wird nicht komprimiert.

Statische Komprimierung ist nur für statische Dateien, die nicht viel ändern, es macht keinen Sinn, eine komprimierte Version einer dynamischen Seite auf der Festplatte zu haben, da erwartet wird, dass sich der Inhalt sehr häufig ändert.

+0

Vielen Dank @Peter Hahndorf. Ich dachte fälschlicherweise, dass es sowohl statischen als auch dynamischen gezippten Inhalt im Verzeichnis system.webServer \ httpCompression \ speichern würde. Ich habe versucht, die Antwort zu wählen, habe aber weniger Ansehen. –