TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Mithgol the Webmaster

28 Apr, 03:04

Открыть в Telegram Поделиться Пожаловаться

Практическая польза от использования готовых словарей при сжатии текстовых данных, упомянутого в предшествующем сообщении, различна для двух возможных сценариев использования.

Во-первых, когда какой-нибудь вспомогательный файл сайта (стиль CSS или код JS) отредактирован, тогда новая версия его обыкновенно бывает гораздо больше по объёму, нежели величина одного только набора внесённых правок — того списка затронутых строк (прибавленных, измѣнённыхъ, стёртых), который пользователи систем контроля версий обычно называют словом «дифф» или «патч». Слѣдовательно, если у большинства постоянных посѣтителей такого сайта в кэше у браузера осталась предшествующая версия файла, то можно использовать её в качестве готового словаря и тѣмъ достигнуть мощной силы сжатия — передаваемый «сжатый файл» в этом случае фактически представляет собою всего только «дифф» (он же «патч»), да ещё дополнительно доужатый кодировщиком. По-видимому, всё то же сáмое можно сказать и об RSS-потоках (и об их аналогах Atom), в которых чаще всего новая новость (напримѣръ, блогозапись) и вытесняемая ею старая новость совокупно бывают во много раз меньше общего объёма потока.

Во-вторых, когда рѣчь идётъ ужé не о вспомогательных файлах, а об основных HTML-страницах, то в них часто есть повторяющиеся куски:

• в шапке у каждой страницы часто одни и те же ссылки на стили, на скрипты, на значок (favicon) и проч.,

• в подвале у каждой страницы часто одни и те же дисклеймеры да копирайты,

• какой-нибудь подзаголовок всегда окаймляется одним и тѣмъ же кодом (мѣняется только сам текст заголовка),

• какой-нибудь тип иллюстраций всегда окаймляется одним и тѣмъ же кодом (мѣняется только имя файла и текст подписи),

• какой-нибудь навигационный блок повторяется на каждой странице почти таким же, как и на других — разве что в нём подсвѣчивается текущая страница или подраздѣлъ,

• какой-нибудь код обратной связи повторяется на каждой странице почти таким же, как и на других,

• для экономии обращений на сёрвер многие сайты оформляют мелкие значки как спрайты — их код очень похож и отсылает к одному и тому же графическому файлу, отличаясь только координатами или идентификатором желаемого спрайта.

Но если в первом сценарии перемѣнная часть («дифф», он же «патч») была кратно меньше постоянной, то во втором постоянная часть (общие куски страниц, во всей совокупности их) обычно меньше остального (перемѣннаго) тѣла страницы. Слѣдовательно, во втором сценарии рост силы сжатия от использования готового словаря — это рост «на проценты», а не «в разы».

Ещё одно послѣдствіе — необходимость ѿдѣльно подготавливать именно словарь как таковой (файл, содержащий одни только общие части страниц). Как правило, нельзя брать примѣръ съ предшествующаго сценария и использовать в роли готового словаря существующий файл (напримѣръ, давно не измѣнявшуюся страницу сайта): ожидаемая экономия траффика (от сжатия остальных страниц) может оказаться меньше, чѣмъ расходы на скачивание страницы-словаря — напримѣръ, когда постоянныя куски страниц (которые одни полезны в качестве словаря) в среднем в N раз меньше объёма страниц, а типичный посѣтитель сайта в среднем заходит меньше, чѣмъ на N страниц (то есть большинство приходит на двѣ или три страницы, которыя-то и нужны им, а затѣмъ быстро уходит навсегда). Очень рѣдко страница-словарь способна «доставаться бесплатно» за счёт того, что оказывается не просто давно не мѣнявшеюся, но и часто посѣщаемою (а оттого ужé лежит в кэше у большинства посѣтителей, не требует расхода траффика перед употреблением в качестве словаря).

А вот как раз с генераторами готовых словарей ещё не успѣли нормально наладить дѣло за полгода работы стандарта:

➊ Если на сборище файлов, по которым создаётся словарь общих частей, указывать в форме «*.html», а не в форме пути к подкаталогу, то zstd выдаёт такое сообщение об ошибке, по которому нельзя понять причину ея.

➋ Brotli вообще не предлагает готовую сборку генератора словарей (а планы такие были).

➌ Онлайновый генератор «Compression Dictionary Transport Dynamic Dictionary Tester» не грохнется ли, если сдѣлается популярным?
How do we create custom dictionaries? · Issue #697 · google/brotli
As per Jyrki's request, I'm filing this issue: How do we create custom dictionaries? I haven't found any user docs on it. For example, with Zstd we would do something like: zstd --train...

690 0 0 6
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot