架构师_程序员_码农网

Имя пользователя Получить пароль
Регистрация

QQ登录

Всего один шаг, чтобы начать

Поиск
Просмотров:19036|Ответов: 4
打印 上一主题 下一主题

[ASP.NET]asp.net core 3.1 включение алгоритма сжатия веб Brotli

[Копировать ссылку]
Поднимайте прямо к 跳转到指定楼层
владелец
发表于 2021-1-23 12:12:25|只看该作者回帖奖励|Реверсивныйпросмотр|Режим чтения
Brotli - это новый алгоритм сжатия, разработанный Google. Меньший размер отклика на сжатие позволяет лучше использовать пространство и быстрее загружать страницы. Во многих случаях Brotli превосходит gzip. Преимущества: для типичных веб-активов (например, css, html, js) Brotli превосходит gzip на 17-25 %. Плотность Brotli -11 по сравнению с gzip -9: html (многоязычный корпус): 25 % экономии на js (alexa top 10k): 17 % экономии на shrunken js (alexa top 10k): 17 % экономии на css (alexa top 10k): 20 экономии в %.

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

Изначально Brotli был выпущен в 2015 году для автономного сжатия веб-шрифтов. В сентябре 2015 года инженеры Google выпустили улучшенную версию Brotli, которая включала в себя сжатие данных без потерь общего назначения, с особым акцентом на сжатие HTTP. Кодер в ней был частично переписан для повышения коэффициента сжатия, скорость работы кодера и декодера увеличилась, а API потоковой передачи был улучшен для добавления большего количества уровней качества сжатия. Кроме того, в новой версии улучшена кроссплатформенная производительность, а также уменьшено количество памяти, необходимое для декодирования.

В отличие от обычных алгоритмов сжатия общего назначения, Brotli использует предопределенный 120-килобайтный словарь. Словарь содержит более 13 000 часто используемых слов, фраз и других подстрок из большого корпуса текстовых и HTML-документов. Предопределенные алгоритмы повышают плотность сжатия небольших файлов.

Использование brotli вместо deflate для сжатия текстовых файлов обычно увеличивает плотность сжатия на 20 %, при этом скорость сжатия и распаковки остается примерно одинаковой. Тип кодировки содержимого для сжатия потоков с помощью Brotli был предложен как "br".

Brotli в сравнении с Gzip


При оценке алгоритмов сжатия мы ориентируемся на два показателя: степень сжатия и скорость сжатия. Как видно на графике выше, независимо от того, какой из 9 уровней сжатия gzip используется, его степень сжатия ниже, чем у brotli (по сравнению с gzip, уровень сжатия которого также может быть настроен на 10), а скорость сжатия медленнее.

Преимущество Brotli: для типичных веб-активов (например, css, html, js) Brotli превосходит gzip на 17-25 %. Плотность Brotli-11 по сравнению с gzip-9: html (многоязычный корпус): 25 % экономии на js (alexa top 10k): 17 % экономии на уменьшенном js (alexa top 10k): 17 % экономии на css (alexa top 10k): 20 процентов экономии

asp.net core Включить Brotli

Значение заголовка Accept-Encoding



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

Следующий код демонстрирует, как включить промежуточное ПО отзывчивого сжатия для стандартных типов MIME и провайдеров сжатия (Brotli и Gzip):


Внимание:

  • app.UseResponseCompression должен быть вызван до app.UseMvc.
  • Используйте такие инструменты, как 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 удаляется при сжатии, поскольку содержимое тела изменилось и хэш больше не действителен.


Когда https включен в asp.net core, Brotli не будет работать для сжатия html и json, но будет работать для сжатия js и css. (Возможно, длина символов слишком мала, чтобы их стоило сжимать, ее можно настроить )

(конец)





Предыдущая статья: Интеллектуальные DNS-запросы с подстановочными знаками домена
Следующая статья:asp.net core пакетное переименование zip архива в памяти
NET, публикуется только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
диван
发表于 2022-9-24 10:48:26|只看该作者
Оригинал не так прост, посмотрите на исходный код
Код фермерской сети, публикуется только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
t kme@qq. com
Скамейки
发表于 2023-2-28 11:51:11|只看该作者
Спасибо, что поделились!
Код фермерской сети, опубликован только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
напольное покрытие
楼主|发表于 2023-9-1 21:59:51|只看该作者

Код фермерской сети, публикуется только в процессе практики, возникли технические трудности, не вводите в заблуждение других.
5#
楼主|发表于 2023-9-17 10:47:02|只看该作者
NET 6 Тестирование алгоритмов Gzip и Brotli
h ttps:// www.itsvse.com/thread-10663-1-1.html
NET 6 тестирует алгоритмы Gzip и Brotli.
Вы должны войти в систему, прежде чем сможете отправлять сообщения назад Войти | Зарегистрироваться

Эта версия интегральных правил


Отказ от ответственности: Все программное обеспечение, программные материалы или статьи, выпущенные код фермер сети ограничивается для изучения и исследования целей; вышеуказанное содержание не должно быть использовано для коммерческих или незаконных целей, в противном случае, все последствия, пожалуйста, пользователь несет ответственность. Это сайт информации из сети, авторские права спор не имеет никакого отношения к этому сайту. Вы должны полностью удалить вышеуказанное содержимое с вашего компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купить регистрацию и получить лучше подлинного обслуживания. Если есть какие-либо нарушения, пожалуйста, свяжитесь с нами по электронной почте, чтобы разобраться с этим.

Почта To:help@itsvse.com

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

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

Быстрый ответНазад к началуНазад к списку