Об ускорении просмотра web-страниц

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

Мы также кратко опишем нашу программу AlgART HTML Packer 2.0, реализующую некоторые из этих идей. Сжатие HTML: нужно ли это? Наиболее очевидный путь к ускорению Internet — сжатие (компрессия) передаваемых данных с помощью алгоритмов сжатия информации, таких же, какие применяются в известных архиваторах типа WinZip, GZip, Rar, Arj. При этом Web-сервер выдает все страницы в некотором упакованном формате, а броузер автоматически их распаковывает. Скорость распаковки, которую может обеспечить процессор клиентского компьютера, многократно превосходит скорость передачи данных даже на самом хорошем Internet. Подобная техника давно и повсеместно используется в Internet при передаче картинок, видео и звука: это общеизвестные форматы gif/png/jpeg и всевозможные специализированными форматы типа RealVideo или «фрактального» сжатия. Однако, собственно HTML-текст, составляющий основу всех (или почти всех) Web-страниц, для подавляющего большинства сайтов передается в несжатом виде. Строго говоря, на многих каналах связи используются различные методы «низкоуровневого» сжатия — например, такое сжатие обеспечивает большинство модемов. Но качество такого сжатия много ниже того, которое дает обычный архиватор WinZip для файла HTML-страницы. Может быть, сжимать HTML-текст попросту не нужно? Даже самые медленные современные модемы способны обеспечить, как минимум, 1-3 Kb/сек, т.е. 30-килобайтная страница грузится 10-30 секунд. Это вполне достаточно для просмотра текста. Вот графика, если бы ее не сжимали, заняла бы сотни килобайтов и даже мегабайты — там сжатие необходимо, а HTML-текст сжимать вроде бы не стоит. Я попробую убедить вас, что это не так. 1. HTML-текст гораздо важнее графики Основа любой Web-страницы — это ее HTML-текст. Пока этот текст не загрузится, пользователь должен просто пассивно ждать — он не может переходить по гиперссылкам, заполнять формы, смотреть картинки, слушать аудиосопровождение и т.д. Самая важная информация обычно тоже представлена в текстовом виде. Таким образом, время, требуемое на загрузку HTML-составляющей Web-страницы — самое критичное. По своему опыту могу сказать, что при активной профессиональной работе в Internet — поиске информации, участии в обсуждениях, переписке (в Web-интерфейсе) и пр. — на анализ содержимого страницы и принятие решения о дальнейших действиях (обычно — переходах) может уходить всего несколько секунд. Средняя же цифра, пожалуй, не больше минуты. Причем при быстром просмотре Internet графика требуется крайне редко (если не считать очень маленьких картинок с кнопками и различными управляющими элементами). Изображения, видео и аудио нужны только на «конечных пунктах» путешествия по Internet, когда начинаешь внимательно изучать найденную страницу. Поэтому экономия нескольких секунд (или, тем более, десятков секунд) на каждой странице — это очень существенная экономия времени пользователя. 2. Траффик Кроме времени, имеет значение еще экономия траффика на линии. Некоторые Internet-провайдеры берут плату именно за трафик — например, за каждый перекачанный пользователем мегабайт. Html-текст может составлять довольно значительную часть этого трафика. Очевидно, если удастся сократить объем передаваемого HTML-текста в несколько раз — это будет прямая экономия денег пользователя. Врочем, экономия трафика гораздо важнее не для пользователя, а для держателя Web-сервера. Для него оплата трафика может стоит очень дорого — владелец популярного Web-сайта может платить за канал десятки тысяч долларов ежемесячно. Здесь любая экономия приобретает очень большой смысл. 3. Длинный текст Иногда бывает удобно представить на одной Web-странице достаточно большой текст — до нескольких сотен килобайтов. Это может быть длинный каталог, литературное произведение, документация, большая статья или монография. Конечно, длинный текст всегда можно разбить на несколько страниц «разумных» размеров — так обычно и делается. Однако, размещение такого текста на одной странице во многих случаях сильно облегчило бы работу с ним. Прежде всего, такой текст куда удобнее читать — если, конечно, он логически связный. Навигация по нему (с помощью предусмотренных в HTML закладок и гиперссылок) практически мгновенна. В большинстве броузеров существуют встроенные команды для поиска текста в пределах текущей страницы. Есть и чисто технические преимущества размещения текста на одной странице. Например, такой текст очень легко сохранить на диске — в любом броузере это делается одной командой. С ним лучше работает встроенный кэш: достаточно зайти только на одну страницу, чтобы дальнейшее чтение любой части текста не требовало загрузки по сети. Последнее качество особенно ценно при повременной оплате Internet-подключения, когда пользователю выгодно сначала загрузить все интересующие его страницы в кэш броузера, затем отключиться и не спеша просматривать их в offline-режиме. Очевидно, длинные тексты всегда имеет смысл сжимать. 4. Вписывание в таблицу фиксированной ширины Очень часто при оформлении HTML-страниц применяется «жесткая» разметка страницы по горизонтали: весь текст размещается внутри вертикальной полосой шириной 500-700 пикселов. Такая разметка, кроме чисто дизайнерских целей, позволяет сохранить читабельность текста при любой ширине окна броузера. Если этого не сделать и позволить тексту занимать по горизонтали все окно броузера, то текст станет практически нечитаемым при большой ширине окна — а это значит, что счастливые обладатели мониторов 1280×1024 или 1600×1200 не смогут читать текст при максимизированном броузере. Стандартный способ ограничения ширины текста — помещение его внутрь таблицы фиксированной ширины

 

Понравилась статья? Поделиться с друзьями: