Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 34710|Antwoord: 5

[ASP.NET] asp.net core 3.1 maakt het compressie-algoritme van de website Brotli mogelijk

[Link kopiëren]
Geplaatst op 23-1-2021 12:12:25 | | | |
Brotli is een nieuw compressie-algoritme ontwikkeld door Google. De kleinere compressieresponsgrootte zorgt voor een betere ruimtebenutting en sneller laden van pagina's. In veel gevallen presteert Brotli beter dan gzip. Voordelen: Voor typische webassets zoals css, html, js presteert Brotli met 17-25% beter dan gzip. Brotli -11 dichtheid vergeleken met gzip-9: html (meertalig corpus): bespaar 25% van js (Alexa's hoogste 10k): bespaar 17% van krimpende js (Alexa's top 10k): bespaar 17% van css (Alexa's top 10k): 20% besparing.

Inleiding tot het Brotli-algoritme

Brotli werd oorspronkelijk in 2015 uitgebracht voor offline compressie van weblettertypen. Google-softwareontwikkelaars brachten in september 2015 een verbeterde versie van Brotli uit, met speciale aandacht voor HTTP-compressie. De encoder is gedeeltelijk herschreven om de compressieverhouding te verbeteren, zowel de encoder als de decoder zijn verhoogd voor snelheid, en de streaming-API is verbeterd om meer niveaus van compressiekwaliteit toe te voegen. De nieuwe versie laat ook prestatieverbeteringen zien op verschillende platforms en minder geheugen dat nodig is voor decoderen.

In tegenstelling tot gangbare algemene compressie-algoritmen gebruikt Brotli een vooraf gedefinieerd woordenboek van 120 kilobyte. Het woordenboek bevat meer dan 13.000 veelgebruikte woorden, uitdrukkingen en andere substrings uit een groot corpus van tekst- en HTML-documenten. Vooraf gedefinieerde algoritmen kunnen de compressiedichtheid van kleinere bestanden verhogen.

Het gebruik van Brotli in plaats van deflate om tekstbestanden te comprimeren kan meestal de compressiedichtheid met 20% verhogen, terwijl de compressie- en decompressiesnelheid ongeveer gelijk is. Het contentcoderingstype voor streamcompressie met Brotli is voorgesteld om "br" te gebruiken.

Brotli vs. Gzip


Bij het evalueren van compressie-algoritmen richten we ons op twee indicatoren: compressiesnelheid en compressiesnelheid. Zoals je in de bovenstaande figuur kunt zien, ongeacht welke van de 9 compressieniveaus van gzip wordt gebruikt, is de compressieverhouding lager dan die van brotli (vergeleken met gzip kan het ook worden ingesteld op 10), en de compressiesnelheid is ook langzamer.

Brotli Voordeel: Brotli presteert 17-25% beter dan gzip voor typische webassets zoals css, html, js. Brotli -11 dichtheid vergeleken met gzip-9: html (meertalig corpus): bespaar 25% van js (Alexa's hoogste 10k): bespaar 17% van krimpende js (Alexa's top 10k): bespaar 17% van css (Alexa's top 10k): 20% besparing

asp.net kern maakt Brotli mogelijk

Accept-Encoding headerwaarde



Codeconfiguratie

De volgende code laat zien hoe responsieve compressiemiddleware voor het standaard MIME-type en compressieproviders (Brotli en Gzip) mogelijk wordt ingeschakeld:


Notitie:

  • app. UseResponseCompression moet in de app zijn opgenomen. Gebruik Mvc voordat je belt.
  • Gebruik tools zoals Fiddler, Firebug of Postman om de Accept-Encoding requestheader in te stellen en de responsheader, grootte en body te bestuderen.



Standaard wordt de Brotli-compressieprovider toegevoegd aan de array van de compressieprovider, samen met de Gzip-compressieprovider. Wanneer de client het Brotli-gecomprimeerde dataformaat ondersteunt, staat de compressie standaard op Brotli-compressie. Als de client geen Brotli ondersteunt, staat de compressie standaard op Gzip wanneer de client Gzip-compressie ondersteunt.

BR-compressietest

Open de Fiddler-pakketregistratietool en gebruik een browser om het adres van onze website te bekijken, je kunt het volgende zien:




Verzoekheader: Accept-Encoding: gzip, deflate, br

Responsheader: Content-Encoding: br

Wanneer compressie wordt uitgevoerd, wordt de Content-Length-header verwijderd omdat de inhoud van de inhoud verandert wanneer de respons wordt gecomprimeerd.

Wanneer compressie wordt uitgevoerd, wordt de Content-MD5-header verwijderd omdat de inhoud van de inhoud is veranderd en de hash niet langer geldig is.


Wanneer asp.net core de https-functie inschakelt, heeft Brotli geen effect op html- en jsoncompressie, maar het kan wel js en css comprimeren. (Het is mogelijk dat de tekenlengte te klein is om gecomprimeerd te worden, en dat deze moet worden ingesteld

(Einde)





Vorig:Intelligente domeinnaam wildcard DNS-zoekopdracht
Volgend:asp.net core hernoemt zip-pakketten in het geheugen in bulk
Geplaatst op 24-9-2022 10:48:26 |
Originaliteit is niet makkelijk, kijk naar de broncode
Geplaatst op 28-2-2023 11:51:11 |
Bedankt voor het delen
 Huisbaas| Geplaatst op 1 september 2023 21:59:51 |

 Huisbaas| Geplaatst op 17-9-2023 10:47:02 |
.NET 6 test Gzip- en Brotli-algoritmen
https://www.itsvse.com/thread-10663-1-1.html
 Huisbaas| Geplaatst op 2025-11-16 22:39:26 |
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com