Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 34710|Odpověď: 5

[ASP.NET] asp.net jádro 3.1 umožňuje kompresní algoritmus webu Brotli

[Kopírovat odkaz]
Zveřejněno 23. 1. 2021 12:12:25 | | | |
Brotli je nový kompresní algoritmus vyvinutý společností Google. Menší velikost kompresní odezvy umožňuje lepší využití místa a rychlejší načítání stránky. V mnoha případech Brotli překonává gzip. Výhody: U typických webových assetů jako css, html, js, Brotli překonává gzip o 17-25 %. Hustota brotli -11 ve srovnání s gzip-9: html (vícejazyčný korpus): ušetřete 25 % js (nejvyšší 10 tisíc v Alexe): ušetřete 17 % zmenšujících se JS (top 10 tisíc Alexy): ušetřete 17 % CSS (top 10 tisíc Alexy): 20 % úspor.

Úvod do algoritmu Brotli

Brotli byl původně vydán v roce 2015 pro offline kompresi webových fontů. Softwaroví inženýři Google vydali v září 2015 vylepšenou verzi Brotli se zvláštním zaměřením na kompresi HTTP. Enkodér byl částečně přepsán pro zlepšení kompresního poměru, jak enkodér, tak dekodér byly zvýšeny pro rychlost a streamovací API bylo vylepšeno pro zvýšení úrovně komprese. Nová verze také ukazuje zlepšení výkonu napříč platformami a sníženou paměť potřebnou pro dekódování.

Na rozdíl od běžných obecných kompresních algoritmů používá Brotli předdefinovaný slovník o velikosti 120 kilobajtů. Slovník obsahuje přes 13 000 běžně používaných slov, frází a dalších podřetězců z rozsáhlého korpusu textových a HTML dokumentů. Předdefinované algoritmy mohou zvýšit hustotu komprese menších souborů.

Použití brotli místo deflatace pro kompresi textových souborů obvykle zvyšuje hustotu komprese o 20 %, zatímco rychlost komprese a dekomprese je přibližně stejná. Typ kódování obsahu pro kompresi proudu pomocí Brotli byl navržen s použitím "br".

Brotli vs. Gzip


Při hodnocení kompresních algoritmů se zaměřujeme na dva ukazatele: rychlost komprese a rychlost komprese. Jak je vidět na obrázku výše, bez ohledu na to, která z 9 úrovní komprese gzip je použita, jeho kompresní poměr je nižší než u brotlího (ve srovnání s gzip lze také nastavit na 10) a rychlost komprese je také pomalejší.

Výhoda brotli: Brotli překonává gzip o 17–25 % u běžných webových assetů jako css, html, js. Hustota brotli -11 ve srovnání s gzip-9: html (vícejazyčný korpus): ušetřete 25 % js (nejvyšší 10k od Alexy): ušetřete 17 % zmenšujících se JS (top 10k Alexy): ušetřete 17 % CSS (top 10k Alexy): 20 % úspor

asp.net jádro umožňuje Brotli

Hodnota hlavičky Accept-Encoding



Konfigurace kódu

Následující kód ukazuje, jak povolit responzivní kompresní middleware pro výchozí MIME typ a poskytovatele komprese (Brotli a Gzip):


Poznámka:

  • aplikace. UseResponseCompression musí být v aplikaci zahrnut. Použijte Mvc před zavoláním.
  • Použijte nástroje jako Fiddler, Firebug nebo Postman k nastavení hlavičky požadavku Accept-Encoding a prostudujte hlavičku odpovědi, velikost a tělo.



Ve výchozím nastavení je poskytovatel komprese Brotli přidán do pole poskytovatele komprese spolu s poskytovatelem komprese Gzip. Když klient podporuje formát komprimovaných dat Brotli, komprese se automaticky převede na kompresi Brotli. Pokud klient Brotli nepodporuje, komprese se při podpoře Gzip komprese automaticky nastaví na Gzip.

BR kompresní test

Otevřete nástroj Fiddler pro zachycení paketů a použijte prohlížeč k přístupu na adresu našeho webu, kde můžete vidět následující:




Záhlaví požadavku: Accept-Encoding: gzip, deflate, br

Odpověď hlavička: Content-Encoding: br

Při kompresi je záhlaví Content-Length odstraněno, protože se obsah těla změní při kompresi odpovědi.

Při provedení komprese je hlavička Content-MD5 odstraněna, protože se změnil obsah těla a hash již není platný.


Když asp.net core zapne https funkci, Brotli se neprojeví při kompresi html a json, ale může komprimovat js a css. (Je možné, že délka znaku je příliš malá na to, aby byla zkomprimována, a měla by být nastavena

(Konec)





Předchozí:Inteligentní DNS vyhledávání jako divoké karty doménových jmen
Další:asp.net Core Bulk přejmenovává zip pakety v paměti
Zveřejněno 2022-9-24 10:48:26 |
Originalita není snadná, podívejte se na zdrojový kód
Zveřejněno 2023-2-28 11:51:11 |
Díky za sdílení
 Pronajímatel| Zveřejněno 1. 9. 2023 21:59:51 |

 Pronajímatel| Zveřejněno 17. 9. 2023 10:47:02 |
.NET 6 testuje algoritmy Gzip a Brotli
https://www.itsvse.com/thread-10663-1-1.html
 Pronajímatel| Zveřejněno 16. 11. 2025 22:39:26 |
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com