Привет всем. Хочу рассказать немного о браузерах, а именно о их способности сжатия страниц и как это происходит.
Хочу обратить внимание что буду рассказывать только о тех браузерах которыее использовал сам (на смарте).
Итак начнем с того, что все браузеры условно можно разделить на 3 группы:
1) Браузеры которые не используют сжатие.
- сюда можно отнести стандартный браузер телефона, нетфронт, и оперу для смарта(не jar).
2) Браузеры которые сжимают страницы своим алгоритмом сжатия.
- такие как опера мини, юцвеб
3) Браузеры которые помимо своего алгоритма сжатия применяют еще и архиватор
- знаю тока один опера мини мод.
А теперь как все работает.
Для начала приведем самую простую страницу в качестве примера:
Изначально вес такой страницы 550 байт
Итак первый тип браузеров загружает нам всю эту станицу в принципе тут ни чего интересного не происходит
Второй тип браузеров чтобы загрузить эту же страницу обращается на свои сервер там она загружается, обрабатывается и возвращается уже сжатой. Эта возвращенная страница уже будет весить меньше 100 байт
Теперь наверно у вас возник вопрос КАК это делается?
Это делается приблизительно одинаково в обоих арбузах - из страницы удаляются теги и собирается все в свой формат, а именно:
- в опере мини возвратится структура одной строкой:
- в юцвеб немного длиннее и каждый элемент стоит в своей строке:
XX
TT
NN
TT
заголовок страницы
TT
NN
TT
Привет мир
где:
XX - стоит всегда первым(присутствует и в мини и в юцвебе правда у каждого они разные) и служит для описания формата (контроля расширения)
DD - есть только в мини нужен для хранения длинны до конца файла
TT - это тип объекта (текст, ссылка, заголовок и т.д) тоже есть у обоих браузеров.
dd - это длинна объекта (например колличество знаков букв и цифр в идущем после него тексте) есть только в мини в юцвеб он не нужен т.к там достаточно просто прочитать строку до конца.
NN - это номер последовательности объекта и тоже является объектом есть только в юцвеб служит для проверки и в принципе не является важным (но делает формат больше) возможно его китайцы со временем уберут и тогда их браузер будет сжимать также как и мини
00 - это метка конца файла есть только в мини.
И наконец последний тип, а именно опера мини мод, по сути сначала она делает то же самое что и опера мини но в конце еще полученную структуру архивирует Gzip-ом плюсы этого думаю рассказывать не надо.
P.S Для наглядности я сознательно не включил в описание форматирование текста(цвет, шрифт).
P.P.S Эту статью я написал по своим личным наблюдениям и небольшим опытом в изучении этих форматов. Возможно в тексте присутствуют не правильные формулировки, но общий смысл думаю понятен.
А вот википедия утверждает, что midp2 версия (то есть обычная, грубо говоря) оперы мини и без модификации жмёт в gzip. Да и как-то с трудом представляется, что где-то есть сервер специально для работы с модами оперы, ведь архивирует поток уж никак не сам браузер.
0 ответить