- nike air max 90 pas cher
- 16373
|
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 архива в памяти
|