架构师_程序员_码农网

N Odzyskaj hasło
Zarejestruj się

QQ登录

Wystarczy jeden krok, aby rozpocząć

Wyszukiwanie
Wyświetlenie:19036|Odpowiedź: 4
打印 上一主题 下一主题

[ ASP.NET]asp.net core 3.1 Włączenie algorytmu kompresji Web Brotli

[ Kopiuj link]
P 跳转到指定楼层
właściciel
发表于 2021-1-23 12:12:25|只看该作者回帖奖励 | Odwróćprzeglądanie|Tryb odczytu
Brotli to nowy algorytm kompresji opracowany przez Google. Mniejszy rozmiar odpowiedzi kompresji pozwala na lepsze wykorzystanie przestrzeni i szybsze ładowanie stron. W wielu przypadkach Brotli przewyższa gzip. zalety: dla typowych zasobów internetowych (np. css, html, js), Brotli przewyższa gzip o 17-25%. Gęstość Brotli -11 w porównaniu do gzip -9: html (wielojęzyczny korpus): 25% oszczędności na js (alexa top 10k): 17% oszczędności na shrunken js (alexa top 10k): 17% oszczędności na css (alexa top 10k): 20 oszczędności w %.

Wprowadzenie do algorytmu Brotli

Brotli został pierwotnie wydany w 2015 roku w celu kompresji czcionek internetowych w trybie offline. Inżynierowie oprogramowania Google wydali ulepszoną wersję Brotli we wrześniu 2015 roku, która obejmowała bezstratną kompresję danych ogólnego przeznaczenia, ze szczególnym uwzględnieniem kompresji HTTP. Koder w nim został częściowo przepisany w celu poprawy współczynników kompresji, zarówno koder, jak i dekoder zwiększyły prędkość, a interfejs API przesyłania strumieniowego został ulepszony, aby dodać więcej poziomów jakości kompresji. Nowa wersja wykazuje również międzyplatformową poprawę wydajności, a także zmniejszenie ilości pamięci wymaganej do dekodowania.

W przeciwieństwie do popularnych algorytmów kompresji ogólnego przeznaczenia, Brotli wykorzystuje predefiniowany 120-kilobajtowy słownik. Słownik ten zawiera ponad 13 000 powszechnie używanych słów, fraz i innych podciągów z dużego korpusu dokumentów tekstowych i HTML. Predefiniowane algorytmy poprawiają gęstość kompresji mniejszych plików.

Użycie brotli zamiast deflate do kompresji plików tekstowych zazwyczaj zwiększa gęstość kompresji o 20%, podczas gdy prędkości kompresji i dekompresji pozostają mniej więcej takie same. Typ kodowania zawartości dla kompresji strumieniowej przy użyciu Brotli został zaproponowany jako "br".

Brotli vs Gzip


Oceniając algorytmy kompresji, skupiamy się na dwóch wskaźnikach: stopniu kompresji i szybkości kompresji. Jak widać na powyższym wykresie, bez względu na to, który z 9 poziomów kompresji gzip jest używany, jego stopień kompresji jest niższy niż brotli (w porównaniu do gzip, którego poziom kompresji można również skonfigurować na 10), a prędkość kompresji jest wolniejsza.

Przewaga Brotli: dla typowych zasobów internetowych (np. css, html, js), Brotli przewyższa gzip o 17-25%. Gęstość Brotli-11 w porównaniu do gzip-9: html (wielojęzyczny korpus): 25% oszczędności na js (alexa top 10k): 17% oszczędności na shrunken js (alexa top 10k): 17% oszczędności na css (alexa top 10k): 20 procent oszczędności

asp.net core Włącz Brotli

Wartość nagłówka Accept-Encoding



Konfiguracja kodu

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


Uwaga:

  • app.UseResponseCompression musi być wywołane przed app.UseMvc.
  • Użyj narzędzi takich jak Fiddler, Firebug lub Postman, aby ustawić nagłówek żądania Accept-Encoding i zbadać nagłówek odpowiedzi, rozmiar i treść.



Domyślnie dostawcy kompresji Brotli są dodawani do tablicy dostawców kompresji wraz z dostawcami kompresji Gzip. Gdy klient obsługuje skompresowany format danych Brotli, kompresja domyślnie jest ustawiona na kompresję Brotli. Jeśli klient nie obsługuje Brotli, kompresja jest domyślnie ustawiona na Gzip, gdy klient obsługuje kompresję Gzip.

Test kompresji br

Otwórz narzędzie fiddler i użyj przeglądarki, aby uzyskać dostęp do adresu naszej strony internetowej:




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

Nagłówek odpowiedzi: Content-Encoding: br

Nagłówek Content-Length jest usuwany podczas kompresji, ponieważ zawartość treści zmienia się, gdy odpowiedź jest kompresowana.

Nagłówek Content-MD5 jest usuwany podczas kompresji, ponieważ zawartość treści uległa zmianie i hash nie jest już ważny.


Gdy https jest włączony w asp.net core, Brotli nie będzie działać dla kompresji html i json, ale będzie działać dla kompresji js i css. (Możliwe, że długość znaków jest zbyt mała, aby warto było ją kompresować, powinna istnieć możliwość jej ustawienia ).

(koniec)





Poprzedni artykuł: Inteligentne zapytania DNS z wieloznacznikiem domeny
Następny artykuł:asp.net core batch zmienia nazwę archiwum zip w pamięci
NET, opublikowane tylko w trakcie praktyki, napotkałem trudności techniczne, nie wprowadzaj innych w błąd.
sofa
发表于 2022-9-24 10:48:26|只看该作者
Oryginał nie jest łatwy, spójrz na kod źródłowy
Kod sieci rolników, opublikowany tylko w trakcie praktyki, napotkał trudności techniczne, nie wprowadzaj innych w błąd.
t kme@qq. com
Ławki
发表于 2023-2-28 11:51:11|只看该作者
Dziękujemy za udostępnienie!
Kod sieci rolników, opublikowany tylko w trakcie praktyki, napotkał trudności techniczne, nie wprowadzaj innych w błąd.
podłoga
楼主|发表于 2023-9-1 21:59:51|只看该作者

Kod sieci farmerów, opublikowany tylko w trakcie praktyki, napotkał trudności techniczne, nie wprowadzaj innych w błąd.
5#
楼主|发表于 2023-9-17 10:47:02|只看该作者
NET 6 Testowanie algorytmów Gzip i Brotli
h ttps:// www.itsvse.com/thread-10663-1-1.html
NET 6 testuje algorytmy Gzip i Brotli.
Musisz się zalogować zanim będziesz mógł pisać ponownie Zaloguj się | Zarejestruj się

T a wersja integralnych zasad


Zastrzeżenie: Całe oprogramowanie, materiały programistyczne lub artykuły opublikowane przez sieć Code Farmer są ograniczone do celów naukowych i badawczych; powyższe treści nie mogą być wykorzystywane do celów komercyjnych lub nielegalnych, w przeciwnym razie wszystkie konsekwencje ponosi użytkownik. Ta strona zawiera informacje z sieci, spór o prawa autorskie nie ma nic wspólnego z tą stroną. Należy całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli podoba Ci się program, prosimy o wsparcie oryginalnego oprogramowania, kup rejestrację i uzyskaj lepszą oryginalną usługę. W przypadku jakichkolwiek naruszeń, prosimy o kontakt mailowy w celu ich rozwiązania.

Mail To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

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

Szybka odpowiedźPowrótdo góryPowrót do listy