Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 34710|Odpowiedź: 5

[ASP.NET] asp.net core 3.1 umożliwia algorytm kompresji Brotli na stronie internetowej

[Skopiuj link]
Opublikowano 2021-1-23 12:12:25 | | | |
Brumli to nowy algorytm kompresji opracowany przez Google. Mniejszy rozmiar odpowiedzi kompresji pozwala na lepsze wykorzystanie przestrzeni i szybsze ładowanie strony. W wielu przypadkach Brotli przewyższa gzip. Zalety: Dla typowych zasobów internetowych, takich jak css, html, js, Brotli przewyższa gzip o 17-25%. Gęstość burtlu -11 w porównaniu do gzip-9: html (korpus wielojęzyczny): oszczędzaj 25% js (najwyższe 10k w Alexa): oszczędzaj 17% kurczącego się js (top 10k Alexy): oszczędzaj 17% css (top 10k Alexy): 20% oszczędności.

Wprowadzenie do algorytmu Brotli

Brotli zostało pierwotnie wydane w 2015 roku do kompresji offline czcionek internetowych. Inżynierowie oprogramowania Google wydali ulepszoną wersję Brotli we wrześniu 2015 roku, ze szczególnym naciskiem na kompresję HTTP. Enkoder został częściowo przepisany, aby poprawić współczynnik kompresji, zarówno enkoder, jak i dekoder zostały zwiększone dla szybkości, a API streamingowe zostało ulepszone, aby dodać więcej poziomów jakości kompresji. Nowa wersja pokazuje również poprawę wydajności na różnych platformach oraz zmniejszoną ilość pamięci potrzebnej do dekodowania.

W przeciwieństwie do powszechnych algorytmów kompresji ogólnego przeznaczenia, Brotli używa zdefiniowanego słownika o pojemności 120 kilobajtów. Słownik zawiera ponad 13 000 powszechnie używanych słów, zwrotów i innych podciągów z dużego korpusu tekstów i dokumentów HTML. Zdefiniowane algorytmy mogą zwiększyć gęstość kompresji mniejszych plików.

Użycie Brotli zamiast deflate do kompresji plików tekstowych zwykle zwiększa gęstość kompresji o 20%, podczas gdy prędkość kompresji i dekompresji pozostaje mniej więcej taka sama. Typ kodowania treści do kompresji strumieni za pomocą Brotli został zaproponowany z użyciem "br".

Brotli kontra Gzip


Przy ocenie algorytmów kompresji koncentrujemy się na dwóch wskaźnikach: szybkości kompresji i szybkości kompresji. Jak widać na powyższym rysunku, niezależnie od tego, który z 9 poziomów kompresji gzip jest użyty, jego współczynnik kompresji jest niższy niż w brotli (w porównaniu do gzip, można go również skonfigurować do 10), a prędkość kompresji jest również wolniejsza.

Przewaga Bobrli: Brotli przewyższa gzip o 17-25% dla typowych zasobów internetowych, takich jak css, html, js. Gęstość burtlu -11 w porównaniu do gzip-9: html (korpus wielojęzyczny): oszczędzaj 25% js (najwyższe 10k w Alexie): oszczędzaj 17% kurczącego się js (top 10k Alexy): oszczędzaj 17% css (top 10k Alexy): 20% oszczędności

asp.net core umożliwia Brotli

Wartość nagłówka Accept-Encoding



Konfiguracja kodu

Poniższy kod pokazuje, jak włączyć responsywne oprogramowanie kompresyjne dla domyślnych typów MIME i dostawców kompresji (Brotli i Gzip):


Nuta:

  • aplikacja. UseResponseCompression musi być zawarty w aplikacji. Użyj Mvc przed połączeniem.
  • Użyj narzędzi takich jak Fiddler, Firebug czy Postman, aby skonfigurować nagłówek żądania Accept-Encoding i przeanalizuj nagłówek odpowiedzi, jego rozmiar i treść.



Domyślnie dostawca kompresji Brotli jest dodawany do tablicy dostawcy kompresji wraz z dostawcą kompresji Gzip. Gdy klient obsługuje skompresowany format danych Brotli, kompresja domyślnie przyjmuje kompresję Brotli. Jeśli klient nie obsługuje Brotli, kompresja domyślnie przyjmuje Gzip, gdy klient obsługuje kompresję Gzip.

Test kompresji BR

Otwórz narzędzie Fiddler do przechwytywania pakietów i użyj przeglądarki, aby uzyskać dostęp do adresu naszej strony internetowej, możesz zobaczyć następujące informacje:




Nagłówek żądania: Accept-Encoding: gzip, deflate, br

Nagłówek odpowiedzi: Content-Encoding: br

Podczas kompresji nagłówek Content-Length jest usuwany, ponieważ treść ciała zmienia się podczas kompresji odpowiedzi.

Po wykonaniu kompresji nagłówek Content-MD5 zostaje usunięty, ponieważ treść ciała zmieniła się i skrót przestał być ważny.


Gdy asp.net core włącza funkcję https, Brotli nie będzie działać na kompresję html i json, ale może kompresować js i css. (Możliwe, że długość znaku jest zbyt mała, by ją skompresować, i powinna być ustawiona

(Koniec)





Poprzedni:Inteligentne wyszukiwanie DNS z dziką kartą domeny
Następny:asp.net core bulk zmienia nazwy pakietów zip w pamięci
Opublikowano 2022-9-24 10:48:26 |
Oryginalność nie jest łatwa, spójrz na kod źródłowy
Opublikowano 2023-2-28 11:51:11 |
Dzięki za podzielenie się
 Ziemianin| Opublikowano 2023-9-1 21:59:51 |

 Ziemianin| Opublikowano 2023-9-17 10:47:02 |
.NET 6 testuje algorytmy Gzip i Bobrli
https://www.itsvse.com/thread-10663-1-1.html
 Ziemianin| Opublikowano 2025-11-16 22:39:26 |
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com