Bagaimana untuk membolehkan algoritma pemampatan Brotli untuk Nginx

王林
Lepaskan: 2023-05-15 15:52:06
ke hadapan
1367 orang telah melayarinya

Apakah algoritma pemampatan brotli

Brotli pada asalnya dikeluarkan pada tahun 2015 untuk pemampatan luar talian fon web. Jurutera perisian Google mengeluarkan versi brotli yang dipertingkatkan pada September 2015 yang termasuk pemampatan data tanpa kehilangan am, dengan tumpuan khas pada pemampatan http. Pengekod telah ditulis semula sebahagiannya untuk meningkatkan nisbah mampatan, kedua-dua pengekod dan penyahkod telah ditingkatkan kelajuannya, dan API penstriman telah dipertingkatkan untuk menambah lebih banyak tahap kualiti mampatan. Versi baharu juga mempamerkan peningkatan prestasi merentas platform dan mengurangkan memori yang diperlukan untuk penyahkodan.

Tidak seperti algoritma pemampatan tujuan am biasa, brotli menggunakan kamus 120 kilobait yang dipratentukan. Kamus ini mengandungi lebih 13,000 perkataan biasa, frasa dan subrentetan lain yang diambil daripada korpus besar teks dan dokumen HTML. Algoritma yang dipratakrifkan meningkatkan ketumpatan mampatan untuk fail yang lebih kecil.

Menggunakan brotli dan bukannya mengempiskan untuk memampatkan fail teks biasanya boleh meningkatkan ketumpatan mampatan sebanyak 20%, manakala kelajuan mampatan dan penyahmampatan kekal lebih kurang sama. Jenis pengekodan kandungan untuk pemampatan strim menggunakan brotli telah dicadangkan untuk menggunakan "br".

Pemasangan

1 Muat turun brotli

git clone https://github.com/google/ngx_brotli
cd ngx_brotli && git submodule update --init
Salin selepas log masuk

2 -module=/opt/nginx/ngx_brotli

Contohnya

Salin kod Kod adalah seperti berikut:

./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

konfigurasi, tambah

http {
  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;
  ……
Salin selepas log masuk

pada bahagian http, mulakan semula , muat semula halaman untuk melihat pengepala , didapati

accept-encoding:gzip, deflate, br
Salin selepas log masuk

seperti yang ditunjukkan dalam gambar

Bagaimana untuk membolehkan algoritma pemampatan Brotli untuk Nginx bermakna pemampatan brotli didayakan


Arahan konfigurasi


Pengenalan arahan


mentakrifkan arahan berikut:


brotli , sama ada untuk membenarkan pemampatan dinamik data tindak balas , nilai pilihan dihidupkan dan dimatikan, dan nilai lalai dimatikan. Contohnya adalah seperti berikut:

brotli on;
Salin selepas log masuk

brotli_types, apabila mampatan dinamik didayakan, jenis mim termampat dibenarkan dan nilai lalai ialah teks/html. Contohnya adalah seperti berikut:

brotli_types text/plain text/css text/xml application/xml application/json text/javascript application/javascript application/x-javascript;
Salin selepas log masuk

brotli_static, sama ada membenarkan mencari fail mampat praproses yang berakhir dengan .br, nilai pilihan dihidupkan, dimatikan dan sentiasa, dan nilai lalai dimatikan. Contohnya adalah seperti berikut:

brotli_static off;
Salin selepas log masuk

brotli_comp_level, tahap mampatan, julat nilai pilihan ialah 0~11, nilai lalai ialah 6. Contohnya adalah seperti berikut:

brotli_comp_level 11;
Salin selepas log masuk

brotli_buffers, bilangan dan saiz penimbal yang digunakan semasa memampatkan data tindak balas. Sampel adalah seperti berikut:

brotli_buffers 16 8k;
Salin selepas log masuk

brotli_window, nilai tetingkap yang digunakan oleh brotli, nilai lalai ialah 512k. Contohnya adalah seperti berikut:

brotli_window 512k;
Salin selepas log masuk

brotli_min_length, panjang minimum data tindak balas, di bawahnya algoritma brotli tidak akan digunakan untuk melaksanakan operasi mampatan. Algoritma brotli menggunakan panjang kandungan untuk menentukan panjang data tindak balas. Contohnya adalah seperti berikut:

brotli_min_length 20;
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk membolehkan algoritma pemampatan Brotli untuk Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan