Angulars PRE-Gzip-Dateien werden nicht über IIS geliefert?

10

Ich habe alle Einstellungen (zu Hause, Windows 10) vorbereitet, um js als gz -Dateien zu erstellen und bereitzustellen, aber trotzdem - ich erhalte nur die normalen js -Dateien ( mit der Originalgröße) ).

  

Konfiguration

- Angulars Webpack-Datei:

%Vor%

- Ausgabedateien für diese Konfiguration:

- Index.html Datei:

%Vor%
  

Diagnose

Wenn ich zu http://kkk.com/index.html navigiere, erhalte ich die Dateien in voller Größe:

Auch - wenn ich die Request-Header anschaue, sende ich den Header Accept-Encoding:gzip, deflate :

Frage

Warum dienen die GZ-Dateien nicht?

Zusätzliche Informationen:

  • Es gibt keine 304 Antworten, ich habe .
  • Bei meiner Arbeit , Windows 7 , gleichen Dateien - ich weiß (!) die gziped-Dateien:

  • Deaktivierter Antivirus
  • Berechtigungen: Jeder: Volle Kontrolle über den Ordner der Datei.
  • Vergleich zwischen Anforderungsheadern:

  • Da ich nicht in Echtzeit zippen möchte, sondern PRE-ZIPPING (Dateien, die schon eckig gezippt haben) - habe ich versucht, Komprimierung zu aktivieren UND zu deaktivieren (nur um zu sehen, ob es etwas betrifft - aber es geht nicht - ich bekomme es trotzdem) die großen Dateien):

    
Royi Namir 19.07.2017, 19:14
quelle

2 Antworten

3

OK. Nachdem ich viel gesucht habe, habe ich es mit URLREWRITE und mit einer IIS-Konfiguration geschafft.

Erstens - ich habe das deaktiviert:

Weil ich hier keine CPU brauche. Ich habe bereits Pre-Zip-Dateien.

OK - der Schlüssel hier sind diese zwei Abschnitte:

1) Set contentType to application/javascript
2) Setze contentEncoding auf gzip.

Also habe ich diese 2 urlrewrite Regeln geschrieben:

Der erste Abschnitt besteht darin, alle js Dateien in js.gz umzuschreiben und die zweite Regel, die ein outboundrule ist, dient zum Hinzufügen des content encoding Headers mit gzip value.

Dies ist die Konfigurationsdatei:

%Vor%

Fügen Sie es einfach in die Datei web.config ein (auch wenn Sie Asp.net nicht verwenden).

Auch - Sie müssen dies zu den Mime-Typen hinzufügen:

Nun, wie Sie die Antwort sehen können, bekomme ich die richtige Größe:

Gehen Sie tiefer:

Welches ist das, das ich als preziped habe:

Das ist alles.

    
Royi Namir 30.07.2017, 07:17
quelle
2

IIS unterstützt keine vorkomprimierten Dateien. Sie können dies ziemlich einfach umgehen, indem Sie eine Lösung von hier verwenden: Ссылка

Das Problem ist, dass IIS den Inhalt so wie er ist oder komprimiert und dann den Kodierungsheader hinzufügt.

Wenn Sie die statische Komprimierung zu IIS hinzufügen, wird gzip Ihre Dateien das zweite Mal. Wenn Sie keine statische Komprimierung hinzufügen, sendet sie diese unverändert, fügt jedoch nicht den Kodierungskopf hinzu.

Sie wollen also die Anfrage übernehmen und die Antwort grammatikalisch manipulieren.

Hier ist ein OWIN-Basisimplementierungsbeispiel. Sie könnten genauso einfach einen HTTP-Handler für ältere Versionen verwenden.

%Vor%     
Mortalus 23.07.2017 12:46
quelle

Tags und Links