架构师_程序员_码农网

P Získanie hesla
Registrácia

QQ登录

Stačí jeden krok, aby ste mohli začať

Vyhľadávanie
Zobrazenie:19036|Odpoveď: 4
打印 上一主题 下一主题

[ASP.NET]asp.net core 3.1 Povolenie kompresného algoritmu Brotli pre webové stránky

[Kopírovať odkaz]
V 跳转到指定楼层
majiteľ
发表于 2021-1-23 12:12:25|只看该作者回帖奖励|Reverznéprehliadanie|Režim čítania
Brotli je nový kompresný algoritmus vyvinutý spoločnosťou Google. Menšia veľkosť kompresnej odozvy umožňuje lepšie využitie priestoru a rýchlejšie načítanie stránky. V mnohých prípadoch Brotli prekonáva gzip. výhody: pre typické webové aktíva (napr. css, html, js) Brotli prekonáva gzip o 17-25 %. Hustota Brotli -11 v porovnaní s gzip -9: html (viacjazyčný korpus): 25 % úspora na js (alexa top 10k): 17 % úspora na scvrknutých js (alexa top 10k): 17 % úspora na css (alexa top 10k): 20 % úspora v %.

Úvod do algoritmu Brotli

Algoritmus Brotli bol pôvodne vydaný v roku 2015 na offline kompresiu webových písiem. softvéroví inžinieri spoločnosti Google vydali v septembri 2015 vylepšenú verziu algoritmu Brotli, ktorá zahŕňala všeobecnú bezstratovú kompresiu dát s osobitným zameraním na kompresiu HTTP. Kodér v nej bol čiastočne prepísaný s cieľom zlepšiť kompresné pomery, kodér aj dekodér zvýšili rýchlosť a rozhranie API pre streamovanie bolo vylepšené s cieľom pridať viac úrovní kvality kompresie. Nová verzia tiež vykazuje zlepšenie výkonu naprieč platformami, ako aj zníženie pamäte potrebnej na dekódovanie.

Na rozdiel od bežných univerzálnych kompresných algoritmov používa Brotli preddefinovaný 120-kilobajtový slovník. Slovník obsahuje viac ako 13 000 bežne používaných slov, fráz a iných podradených slov z veľkého korpusu textových a HTML dokumentov. Preddefinované algoritmy zlepšujú hustotu kompresie menších súborov.

Použitie brotli namiesto deflate na kompresiu textových súborov zvyčajne zvyšuje hustotu kompresie o 20 %, pričom rýchlosť kompresie a dekompresie zostáva približne rovnaká. Typ kódovania obsahu pre kompresiu toku pomocou Brotli bol navrhnutý ako "br".

Brotli vs. Gzip


Pri hodnotení kompresných algoritmov sa zameriavame na dva ukazovatele: mieru kompresie a rýchlosť kompresie. Ako môžete vidieť na grafe vyššie, bez ohľadu na to, ktorá z 9 úrovní kompresie gzip je použitá, jeho miera kompresie je nižšia ako u brotli (v porovnaní s gzip, ktorého úroveň kompresie možno nakonfigurovať aj na 10) a rýchlosť kompresie je nižšia.

Výhoda Brotli: pre typické webové aktíva (napr. css, html, js) je Brotli výkonnejší ako gzip o 17 až 25 %. Hustota Brotli-11 v porovnaní s gzip-9: html (viacjazyčný korpus): 25 % úspora na js (alexa top 10k): 17 % úspora na scvrknutom js (alexa top 10k): 17 % úspora na css (alexa top 10k): 20 % úspora percent

asp.net core Umožniť Brotli

Hodnota hlavičky Accept-Encoding



Konfigurácia kódu

Nasledujúci kód ukazuje, ako povoliť responzívny kompresný middleware pre predvolené typy MIME a poskytovateľov kompresie (Brotli a Gzip):


Pozor:

  • Aplikácia app.UseResponseCompression sa musí zavolať pred aplikáciou app.UseMvc.
  • Na nastavenie hlavičky požiadavky Accept-Encoding a skúmanie hlavičky, veľkosti a tela odpovede použite nástroje, ako sú Fiddler, Firebug alebo Postman.



V predvolenom nastavení sú poskytovatelia kompresie Brotli pridaní do poľa poskytovateľov kompresie spolu s poskytovateľmi kompresie Gzip. Ak klient podporuje formát komprimovaných údajov Brotli, kompresia sa predvolene nastaví na kompresiu Brotli. Ak klient nepodporuje Brotli, kompresia sa predvolene nastaví na Gzip, keď klient podporuje kompresiu Gzip.

Test kompresie br

Otvorte nástroj fiddler a použite prehliadač na prístup k adrese našej webovej lokality, môžete vidieť nasledovné:




Hlavička požiadavky: Accept-Encoding: gzip, deflate, br

Hlavička odpovede: Content-Encoding: br

Hlavička Content-Length sa pri kompresii odstráni, pretože obsah tela sa pri kompresii odpovede zmení.

Hlavička Content-MD5 sa odstráni, keď sa vykoná kompresia, pretože obsah tela sa zmenil a hash už nie je platný.


Keď je v jadre asp.net povolené https, Brotli nebude fungovať pre kompresiu html a json, ale bude fungovať pre kompresiu js a css. (Je možné, že dĺžka znaku je príliš malá na to, aby sa oplatilo komprimovať, malo by byť možné ju nastaviť )

(koniec)





Predchádzajúci: Inteligentné dotazy DNS s náhradnými znakmi domény
Nasledujúci článok:asp.net core batch rename zip archív v pamäti
NET, zverejnené len v priebehu praxe, vyskytli sa technické ťažkosti, neuvádzajte ostatných do omylu.
pohovka
发表于 2022-9-24 10:48:26|只看该作者
Originál nie je jednoduchý, pozrite sa na zdrojový kód
Kód siete poľnohospodárov, zverejnený len v procese praxe, vyskytli sa technické ťažkosti, neuvádzajte ostatných do omylu.
t kme@qq. com
Lavičky
发表于 2023-2-28 11:51:11|只看该作者
Vďaka za zdieľanie!
Kód farmárskej siete, zverejnený len v procese praxe, vyskytli sa technické ťažkosti, neuvádzajte ostatných do omylu.
Podlahy
楼主|发表于 2023-9-1 21:59:51|只看该作者

Kód farmárskej siete, zverejnený len v procese praxe, vyskytli sa technické problémy, neuvádzajte ostatných do omylu.
5#
楼主|发表于 2023-9-17 10:47:02|只看该作者
NET 6 Testovanie algoritmov Gzip a Brotli
h ttps:// www.itsvse.com/thread-10663-1-1.html
NET 6 testovanie algoritmov Gzip a Brotli.

T áto verzia integrálnych pravidiel


Zrieknutie sa zodpovednosti: Všetok softvér, programové materiály alebo články vydané sieťou Code Farmer sú obmedzené na študijné a výskumné účely; vyššie uvedený obsah sa nesmie používať na komerčné alebo nezákonné účely, v opačnom prípade všetky dôsledky, prosím, používateľ zodpovedný. Táto stránka informácie zo siete, spor o autorské práva nemá nič spoločné s touto stránkou. Vyššie uvedený obsah musíte úplne odstrániť z počítača do 24 hodín od jeho stiahnutia. Ak sa vám program páči, podporte prosím originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás e-mailom, aby sme to mohli riešiť.

Mail To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Mapa stránok

GMT+8, 2024-9-19 00:27

Rýchla odpoveďSpäť na začiatokSpäť na zoznam