Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 34710|Antwort: 5

[ASP.NET] asp.net Core 3.1 ermöglicht den Website-Brotli-Kompressionsalgorithmus

[Link kopieren]
Veröffentlicht am 23.1.2021, 12:12:25 | | | |
Brotli ist ein neuer Kompressionsalgorithmus, der von Google entwickelt wurde. Die kleinere Kompressionsantwortgröße ermöglicht eine bessere Speicherplatznutzung und schnellere Seitenlade. In vielen Fällen übertrifft Brotli gzip. Vorteile: Für typische Web-Assets wie CSS, HTML, JS übertrifft Brotli gzip um 17–25 %. Brotli -11 Dichte im Vergleich zu gzip-9: html (mehrsprachiges Korpus): 25 % von js sparen (Alexas höchste 10k): 17 % der schrumpfenden js sparen (Alexas Top 10k): 17 % von CSS sparen (Alexas Top 10k): 20 % Einsparungen.

Einführung in den Brotli-Algorithmus

Brotli wurde ursprünglich 2015 für die Offline-Kompression von Webschriften veröffentlicht. Google-Softwareingenieure veröffentlichten im September 2015 eine erweiterte Version von Brotli mit besonderem Fokus auf HTTP-Kompression. Der Encoder wurde teilweise neu geschrieben, um das Kompressionsverhältnis zu verbessern, sowohl der Encoder als auch der Decoder wurden für die Geschwindigkeit erhöht, und die Streaming-API wurde verbessert, um mehr Kompressionsqualitätsstufen hinzuzufügen. Die neue Version zeigt außerdem Leistungsverbesserungen auf verschiedenen Plattformen und einen geringeren Speicherbedarf für das Dekodieren.

Im Gegensatz zu gängigen allgemeinen Kompressionsalgorithmen verwendet Brotli ein vordefiniertes 120-Kilobyte-Wörterbuch. Das Wörterbuch enthält über 13.000 häufig verwendete Wörter, Phrasen und andere Unterzeichenketten aus einem großen Korpus von Text- und HTML-Dokumenten. Vordefinierte Algorithmen können die Kompressionsdichte kleinerer Dateien erhöhen.

Die Verwendung von Brotli anstelle von Deflate zur Komprimierung von Textdateien kann die Kompressionsdichte in der Regel um 20 % erhöhen, während die Kompressions- und Dekompressionsgeschwindigkeit ungefähr gleich bleibt. Der Inhaltscodierungstyp für Stream-Kompression mit Brotli wurde vorgeschlagen, "br" zu verwenden.

Brotli vs. Gzip


Bei der Bewertung von Kompressionsalgorithmen konzentrieren wir uns auf zwei Indikatoren: Kompressionsrate und Kompressionsgeschwindigkeit. Wie Sie in der obigen Abbildung sehen können, ist unabhängig davon, welche der 9 Kompressionsstufen von gzip verwendet wird, das Kompressionsverhältnis niedriger als das von brotli (im Vergleich zu gzip kann es ebenfalls auf 10 konfiguriert werden), und die Kompressionsgeschwindigkeit ist zudem langsamer.

Brotli-Vorteil: Brotli übertrifft Gzip um 17–25 % bei typischen Web-Assets wie CSS, HTML, JS. Brotli -11 Dichte im Vergleich zu gzip-9: html (mehrsprachiges Korpus): 25 % von js sparen (Alexas höchste 10k): 17 % der schrumpfenden js sparen (Alexas Top 10k): 17 % von CSS sparen (Alexas Top 10k): 20 % Einsparungen

asp.net Kern ermöglicht Brotli

Accept-Encoding-Header-Wert



Codekonfiguration

Der folgende Code zeigt, wie man responsive Kompressions-Middleware für den Standard-MIME-Typ und Kompressionsanbieter (Brotli und Gzip) aktiviert:


Anmerkung:

  • App. UseResponseCompression muss in der App enthalten sein. Nutze Mvc, bevor du anrufst.
  • Verwenden Sie Werkzeuge wie Fiddler, Firebug oder Postman, um den Accept-Encoding-Request-Header einzurichten und den Antwortheader, die Größe und den Body zu untersuchen.



Standardmäßig wird der Brotli-Kompressionsanbieter zusammen mit dem Gzip-Kompressionsanbieter dem Array des Kompressionsanbieters hinzugefügt. Wenn der Client das komprimierte Brotli-Datenformat unterstützt, wird die Kompression standardmäßig auf Brotli-Kompression eingestellt. Wenn der Client Brotli nicht unterstützt, setzt die Kompression standardmäßig auf Gzip, wenn der Client Gzip-Kompression unterstützt.

BR-Kompressionstest

Öffnen Sie das Fiddler-Paketerfassungstool und nutzen Sie einen Browser, um auf die Adresse unserer Website zuzugreifen; Sie können Folgendes sehen:




Anfrage-Header: Accept-Encoding: gzip, deflate, br

Antwort-Header: Content-Encoding: br

Bei der Kompression wird der Content-Length-Header entfernt, da sich der Inhaltstext ändert, wenn die Antwort komprimiert wird.

Wenn Kompression durchgeführt wird, wird der Content-MD5-Header entfernt, weil sich der Inhaltstext geändert hat und der Hash nicht mehr gültig ist.


Wenn asp.net Core die HTTPS-Funktion aktiviert, wirkt sich Brotli nicht auf die HTML- und JSON-Kompression aus, aber es kann JS und CSS komprimieren. (Es ist möglich, dass die Zeichenlänge zu klein ist, um komprimiert zu werden, und sie sollte gesetzt werden

(Ende)





Vorhergehend:Intelligente Domainnamen-Wildcard-DNS-Suche
Nächster:asp.net Kern benennt ZIP-Pakete im Speicher massenhaft um
Veröffentlicht am 24.9.2022, 10:48:26 |
Originalität ist nicht einfach, schau dir den Quellcode an
Veröffentlicht am 28.2.2023, 11:51:11 |
Danke fürs Teilen
 Vermieter| Veröffentlicht am 1.9.2023, 21:59:51 |

 Vermieter| Veröffentlicht am 17.9.2023, 10:47:02 |
.NET 6 testet Gzip- und Brotli-Algorithmen
https://www.itsvse.com/thread-10663-1-1.html
 Vermieter| Veröffentlicht am 16.11.2025, 22:39:26 |
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com