Was ist der Brotli-Komprimierungsalgorithmus?
brotli wurde ursprünglich im Jahr 2015 für die Offline-Komprimierung von Web-Schriftarten veröffentlicht. Die Softwareentwickler von Google haben im September 2015 eine erweiterte Version von Brotli veröffentlicht, die eine allgemeine verlustfreie Datenkomprimierung umfasst, mit besonderem Schwerpunkt auf der HTTP-Komprimierung. Der Encoder wurde teilweise neu geschrieben, um das Komprimierungsverhältnis zu verbessern, sowohl die Geschwindigkeit des Encoders als auch des Decoders wurde erhöht und die Streaming-API wurde verbessert, um mehr Komprimierungsqualitätsstufen hinzuzufügen. Die neue Version bietet außerdem plattformübergreifende Leistungsverbesserungen und einen geringeren Speicherbedarf für die Dekodierung.
Im Gegensatz zu gängigen Allzweck-Komprimierungsalgorithmen verwendet Brotli ein vordefiniertes 120-Kilobyte-Wörterbuch. Das Wörterbuch enthält über 13.000 gebräuchliche Wörter, Phrasen und andere Teilzeichenfolgen, die aus einem großen Korpus von Text- und HTML-Dokumenten stammen. Vordefinierte Algorithmen erhöhen die Komprimierungsdichte für kleinere Dateien.
Durch die Verwendung von Brotli anstelle von Deflate zum Komprimieren von Textdateien kann die Komprimierungsdichte normalerweise um 20 % erhöht werden, während die Komprimierungs- und Dekomprimierungsgeschwindigkeiten ungefähr gleich bleiben. Als Inhaltskodierungstyp für die Stream-Komprimierung mit Brotli wurde die Verwendung von „br“ vorgeschlagen.
Installation
1. Laden Sie brotli herunter
git clone https://github.com/google/ngx_brotli cd ngx_brotli && git submodule update --init
2. Kompilieren Sie –add-module=/opt/nginx/ngx_brotli nach der ursprünglichen Kompilierungskonfiguration
Kopieren Sie den Code folgt:
./configure --prefix=/usr/local/nginx --user=www --group=www --with-pcre=/opt/nginx/pcre-8.41 --with-http_ssl_module --with- zlib=/opt /nginx/zlib-1.2.11 --with-openssl=/opt/nginx/openssl-1.0.2n --add-module=/opt/nginx/ngx_brotli --with-http_v2_module
Konfiguration, hinzufügen
im http-Bereichhttp { include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; keepalive_timeout 65; #brotli compression brotli on; brotli_comp_level 6; brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml; ……
Starten Sie neu, aktualisieren Sie die Seite, um die Kopfzeile anzuzeigen, und suchen Sie
accept-encoding:gzip, deflate, br
wie im Bild gezeigt
, was bedeutet, dass die Brotli-Komprimierung aktiviert istKonfigurationsanweisungen
Befehlseinführung
Der folgende Befehl ist definiert:
brotli on;
brotli_types text/plain text/css text/xml application/xml application/json text/javascript application/javascript application/x-javascript;
brotli_static off;
brotli_comp_level 11;
brotli_buffers 16 8k;
brotli_window 512k;
brotli_min_length 20;
Das obige ist der detaillierte Inhalt vonSo aktivieren Sie den Brotli-Komprimierungsalgorithmus für Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!