Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 34710|Отговор: 5

[ASP.NET] asp.net core 3.1 активира алгоритъма за компресия Brotli на уебсайта

[Копирай линк]
Публикувано на 23.01.2021 12:25 | | | |
Brotli е нов алгоритъм за компресия, разработен от Google. По-малкият размер на компресионния отговор позволява по-добро използване на пространството и по-бързо зареждане на страницата. В много случаи Brotli превъзхожда gzip. Предимства: За типични уеб ресурси като css, html, js, Brotli превъзхожда gzip с 17-25%. Brotli -11 плътност в сравнение с gzip-9: html (многоезичен корпус): запази 25% от js (най-високите 10k на Alexa): запази 17% от смаляващия се js (топ 10k на Alexa): запази 17% от CSS (топ 10k на Alexa): 20% спестявания.

Въведение в алгоритъма Бротли

Brotli първоначално беше пуснат през 2015 г. за офлайн компресия на уеб шрифтове. Софтуерните инженери на Google пуснаха подобрена версия на Brotli през септември 2015 г. с особен фокус върху HTTP компресията. Енкодерът е частично пренаписан за подобряване на степента на компресия, както енкодерът, така и декодерът са увеличени за по-голяма скорост, а стрийминг API е подобрен, за да добави повече нива на качество на компресията. Новата версия също показва подобрения в производителността между платформите и намалена памет, необходима за декодиране.

За разлика от обичайните универсални алгоритми за компресия, Brotli използва предварително зададен речник от 120 килобайта. Речникът съдържа над 13 000 често използвани думи, фрази и други поднизове от голям корпус текстови и HTML документи. Предварително дефинираните алгоритми могат да увеличат плътността на компресия на по-малки файлове.

Използването на Brotli вместо издуване за компресиране на текстови файлове обикновено може да увеличи плътността на компресията с 20%, докато скоростта на компресия и декомпресия са приблизително еднакви. Предложено е да се използва типът на кодиране на съдържание за компресия на поток чрез Brotli да използва "br".

Бротли срещу Гзип


При оценка на алгоритми за компресия се фокусираме върху два индикатора: степен на компресия и скорост на компресия. Както се вижда на горната фигура, независимо кое от 9-те нива на компресия на gzip се използва, коефициентът на компресия е по-нисък от този на brotli (в сравнение с gzip, може да се конфигурира и до 10), а скоростта на компресия също е по-бава.

Brotli предимство: Brotli превъзхожда gzip с 17-25% за типични уеб ресурси като css, html, js. Brotli -11 плътност в сравнение с gzip-9: html (многоезичен корпус): запазва 25% от js (най-високите 10k на Alexa): запазва 17% от смаляващия се js (топ 10k на Alexa): запазва 17% от css (топ 10k на Alexa): 20% спестявания

asp.net ядро активира Brotli

Стойност на заглавието Accept-Encoding



Конфигурация на кода

Следващият код демонстрира как да се активира адаптивният компресионен междинен софтуер за стандартните MIME типове и доставчици на компресия (Brotli и Gzip):


Бележка:

  • приложение. UseResponseCompression трябва да бъде включен в приложението. Използвай Mvc преди да се обадиш.
  • Използвайте инструменти като Fiddler, Firebug или Postman, за да настроите заглавието за заявка Accept-Encoding и да изучите заглавието, размера и тялото на отговора.



По подразбиране, доставчикът на компресия Brotli се добавя към масива на доставчика на компресия заедно с доставчика на компресия Gzip. Когато клиентът поддържа формат за компресирани данни Brotli, компресията по подразбиране се използва Brotli компресия. Ако клиентът не поддържа Brotli, компресията по подразбиране става на Gzip, докато клиентът поддържа Gzip компресия.

BR тест за компресия

Отворете инструмента за улавяне на пакети Fiddler и използвайте браузър, за да получите адреса на нашия уебсайт, можете да видите следното:




Заглавие за заявка: Accept-Encoding: gzip, deflate, br

Заглавие за отговор: Content-Encoding: br

При компресия заглавието Content-Length се премахва, защото съдържанието на тялото се променя при компресиране на отговора.

Когато се извършва компресия, хедърът Content-MD5 се премахва, защото съдържанието на тялото се е променило и хешът вече не е валиден.


Когато ядрото asp.net активира https функцията, Brotli няма да действа върху компресията на html и json, но може да компресира js и css. (Възможно е дължината на символа да е твърде малка, за да бъде компресирана, и тя трябва да бъде зададена

(Край)





Предишен:Интелигентно търсене на DNS за уайлдкард на домейн имена
Следващ:asp.net core bulk преименува zip пакети в паметта
Публикувано на 24.09.2022 10:48:26 |
Оригиналността не е лесна, погледнете изходния код
Публикувано на 28.02.2023 11:51:11 |
Благодаря, че сподели
 Хазяин| Публикувано на 2023-9-1 21:59:51 |

 Хазяин| Публикувано на 2023-9-17 10:47:02 |
.NET 6 тества алгоритмите Gzip и Brotli
https://www.itsvse.com/thread-10663-1-1.html
 Хазяин| Публикувано на 2025-11-16 22:39:26 |
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com