Nginx permite compresia gzip în zbor

În primul rând, vom discuta de ce este necesar acest lucru.

Mai devreme nu am acordat atenție acestui lucru, dar când am închis biletul pentru a permite comprimarea gzip pe unul dintre proiectele curente la care lucrez, am început să mă întreb, de ce? Cel mai probabil, dumneavoastră, ca mine, nu vă pare rău pentru traficul de pe serverul dvs. și deja există multe acolo unde există canale de comunicații de mare viteză nelimitate. Cu toate acestea, acest lucru nu este întotdeauna cazul și scopul principal nu este de a reduce traficul de pe server (deși aceasta este o consecință logică) și de a reduce traficul pentru client. Dispozitivele mobile sunt destul de populare în prezent, însă Internetul mobil este în continuare în spatele legat atât în ​​ceea ce privește viteza, cât și prețul (în special în roaming). Prin urmare, aceasta, în primul rând, grijă de utilizatori.

Dar trebuie să spun că există unele probleme: unele browsere vechi sau foarte proeminente nu suportă compresia gzip. Dar am avut noroc, această problemă îngrijorează destul de multe, prin urmare, pentru decizia sa este deosebit de necesar să nu deranjez.

Aici includem comprimarea în contextul "http" (prima linie), dar o puteți face și în alte contexte: "server", "locație", "în locație".

Acum, o mică explicație:

  • gzip on - include suport pentru gzip în general;
  • gzip_disable "msie6" - dezactivează compresia pentru explorer 5.5 și 6, deoarece nu este acceptat;
  • gzip_buffers - stabilește dimensiunea buffer-ului în care sunt stocate informațiile comprimate;
  • gzip_complevel - nivel de compresie, 1 - minim, 9 - maxim;
  • gzip_proxied orice - comprimarea datelor de răspuns pentru serverele proxy;
  • gzip_types - tipuri MIME de răspunsuri care trebuie comprimate;
  • gzip_vary on - include adăugarea antetului "Vary: Accept-Encoding" în răspuns, pentru IE 4-6 aceasta va duce la date non-caching din cauza bug-ului.

După editare, nu uitați să reporniți serverul. De exemplu, comanda:
sudo serviciu nginx repornire

Această metodă va include comprimarea datelor "în zbor" - adică în timpul formării răspunsului, care ar trebui să crească sarcina pe CPU și utilizarea memoriei serverului, cu toate acestea, reduce cantitatea de trafic. Dacă aveți o mulțime de date statice pe care nu doriți să le comprimați în zbor, puteți utiliza modulul HttpGzipStaticModule pentru a precomprima datele.

Articole similare