Wie stelle ich die gzip-Komprimierung auf einem Web-Server auf?
-
03-07-2019 - |
Frage
Ich habe einen eingebetteten Webserver, der insgesamt 2 Megabyte Speicherplatz auf sie hat. Normalerweise gzip Sie Dateien für die Kunden profitieren, aber dies würde uns Speicherplatz auf dem Server speichern. Ich habe gelesen, dass Sie nur die JS-Datei gzip und es auf dem Server speichern. Getestet habe ich, dass auf IIS und ich hatte kein Glück überhaupt. Was genau muss ich bei jedem Schritt des Prozesses tun müssen, um diese Arbeit zu machen?
Das ist das, was ich mir vorstellen, wird es sein, wie:
- gzip foo.js
- Änderung Link in HTML-zu-Punkt statt nur js foo.js.gz
- Fügen Sie etwas Art von Header der Antwort?
Vielen Dank für jede Hilfe überhaupt.
-fREW
Bearbeiten : Mein Webserver nichts on the fly tun. Es ist nicht Apache oder IIS; es ist ein binäres auf einem Zilog-Prozessor. Ich weiß, dass Sie Ströme komprimieren kann; Ich hörte nur, dass Sie auch die Dateien einmal komprimieren können und lassen sie komprimiert.
Lösung
Wie andere erwähnt haben mod_deflate macht das für Sie, aber ich denke, Sie müssen es manuell tun, da es sich um eine eingebettete Umgebung ist.
Zu allererst sollten Sie den Namen der Datei foo.js verlassen, nachdem Sie es gzip.
Sie sollen nichts in Ihren HTML-Dateien ändern. Da die Datei noch foo.js
In der Antwort-Header (der gzipped) foo.js Sie den Header senden
Content-Encoding: gzip
Dies sollte den Trick tun. Der Kunde fragt nach foo.js und erhält Content-Encoding:. Gzip durch die gzip-Datei gefolgt, die es ungzips automatisch vor Parsen
Natürlich setzt dies voraus, Sie sicher, dass der Client-gzip-Kodierung versteht, wenn Sie nicht sicher sind, sollten Sie nur gzip-Daten senden, wenn der Request-Header enthält
Accept-Encoding: gzip
Andere Tipps
gzip-Kompression auf einem Webserver in der Regel bedeutet, die Ausgabe von ihm Komprimieren Sie Ihre Bandbreite zu sparen. - nicht ganz das, was Sie im Kopf haben
bei dieser Beschreibung Schauen oder Diese Beispiel
Wenn Sie Apache verwenden, die Sie verwenden mod_deflate , und es komprimiert im Fluge.
Ich glaube, du bist verwirrt durch das Denken, dass, wenn Sie etwas gzip es sich um eine Datei zu sein hat. Stattdessen darüber nachdenken, wie eine Datei ist nur ein Strom von Daten, und dass Strom von Daten können hier komprimiert bekommen, übertragen und unkomprimierte dort ohne dass der Kunde selbst darüber zu haben denken.