Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Обработка навигации браузера (https://javascript.ru/forum/events/2079-obrabotka-navigacii-brauzera.html)

B~Vladi 29.05.2009 12:10

Вот статейка по поводу интерактивных страниц и их экономии/увеличении трафика:

В «Справочнике Веб-разработчика» я написал, что использование Dynamic HTML приводит к уменьшению трафика. Цитирую:

«Одна из основных особенностей DHTML состоит в том, что он переносит основную тяжесть по формированию Веб-страниц с сервера на клиент. Платой за это является загрузка с сервера сценариев и программных компонент, которые при правильном проектировании незначительны по объему. В результате динамические страницы загружаются и отображаются намного быстрее статических, что особенно важно для отечественных каналов связи, не страдающих чрезмерно высоким качеством.»
Это утверждение вызвало несколько серьезных возражений, поэтому я счел нужным высказаться по данному поводу подробнее. Основной аргумент моих оппонентов состоит в том, что DHTML дал нам совершенно новые возможности, в частности, послойную подгрузку текстов и картинок с последующим показом их по мере надобности. В результате страницы стали намного больше, а значит, трафик увеличился, а не уменьшился. Давайте разберемся.

Начнем с простого примера: проверки правильности заполнения пользователем экранной формы. Статическая страница, лишенная сценарной поддержки, вынуждена будет вызывать для этого CGI-сценарий сервера, т. е. гонять по Сети данные формы и отклик от сервера, плюс затраты серверного времени на выполнение сценария. DHTML позволяет нам произвести рутинную проверку на стороне клиента (например, убедиться, что поле возраста содержит разумное число). Разумеется, для полной проверки формы может потребоваться обращение к серверной базе данных, но часть действий все равно остается на клиентской стороне и экономит трафик.

В этом же русле лежит и использование компонент ActiveX и реакций (behaviors), которые загружаются только раз, а затем используются страницами без обращения к серверу. Единственной альтернативой им служат Java-аплеты, которые загружаются в каждом сеансе заново.

Теперь перейдем к упомянутому выше аргументу об увеличении трафика. Бесспорно, динамическая страница имеет большую сложность, чем статическая. Бесспорно и то, что она больше ее по размеру за счет сценариев и дополнительной графики. Однако, вопрос состоит в том, по какому критерию сравнивать эти две страницы? По моему мнению, единственным объективным критерием сравнения является информационная емкость страницы, т. е. то количество битов информации, которое она содержит. При таком подходе мы должны будем сравнивать одну динамическую страницу с несколькими статическими, чтобы уравнять их информационную емкость.

Рассмотрим этот тезис на конкретном примере. В качестве примера возьмем головную страницу сайта, который каждый из нас, безусловно, посещал: www.microsoft.com(здесь приводится стр, которая выглядит уже давно по-другому)

HTML-файл этой страницы весит 24К, сценарии - 42К, графика - 25К. Графику мы учитывать не будем, считая, что она загружается только раз, а в дальнейшем берется из кэш-памяти. Получаем, что общий объем динамической страницы равен 66К. На странице расположены:

верхнее меню (4 выпадающих меню, содержащих 22 пункта);
среднее меню (8 выпадающих меню, содержащих 38 пунктов);
левое меню (4 раздела, содержащих 20 ссылок);
поле поиска;
собственно содержание страницы.

Теперь займемся арифметикой. Левое меню, поле поиска и содержание страницы являются статическими и занимают примерно 20К. Прикинем, сколько статических страниц потребуется для размещения остальной навигации (12 меню, 60 ссылок) на том же простанстве, которое она занимает здесь. Сохраняя компоновку страницы, мы можем поместить на нее примерно 15 пунктов меню. Следовательно, нам потребуются 4 статических страницы для обеспечения той же информационной емкости, по 20К каждая, плюс около 4К на текст самих меню, т. е. 84 общего объема против 66К исходного варианта (более 20% экономии):

(60 : 15) x 20K + 4К = 84K
(24К + 42К) : 84К x 100% = 78%
Если бы мы взяли в качестве примера страницы MSDN, в которых левое меню также является динамическим, то экономия превысила бы 50%.

Таким образом, приведенное в начале статьи утверждение следует сформулировать так: грамотное применение Dynamic HTML уменьшает объем удельного трафика между сервером и клиентом, где удельный трафик вычисляется относительно передаваемого пользователю объема информации. Этот тезис имеет и объективное подтверждение. Тот рост объема содержимого Сети, который наблюдается в последние годы, значительно опережает прогресс в развитии технических средств хранения и передачи информации. И если Интернет до сих пор не рухнул под собственным весом, то это объясняется все более широким применением передовых программных технологий, в первую очередь, активной серверной обработки данных и динамическим формированием клиентских страниц.

------------------------------------

И немного от себя.

Цитата:

Сообщение от Kolyaj
1. Плохая индексация поисковиками (проблема решаемая при правильном подходе).

Это не проблема, т.к. решить это легко.

Много читал на эту тему и, думаю, ajax-приложения всё-таки экономят.

Kolyaj 29.05.2009 12:30

B~Vladi,
а почему у вас графика кэшируется, а скрипты -- нет?

B~Vladi 29.05.2009 13:19

это не у меня ;)

Это статья отсюда http://wdh.suncloud.ru/

B~Vladi 29.05.2009 13:20

Кстати оч хороший справочник. Сам им пользуюсь очень давно. Минус один - старый.... со всеми вытекающими. Чудом нашел локальную версию в виде chm. Кому нада - скину;)

Kolyaj 29.05.2009 13:27

Цитата:

Сообщение от B~Vladi
это не у меня

Если цитируете, значит согласны. Да и арифметика там хреновая :)

B~Vladi 29.05.2009 13:50

Цитата:

Сообщение от Kolyaj
Если цитируете, значит согласны

С чего это?! Я привёл мнение одного умного человека. Думаю по-умнее всех нас тут будет.
Цитата:

Сообщение от Kolyaj
Да и арифметика там хреновая

Чё придераешься к мелочам?! "Зри в корень" :D

Kolyaj 29.05.2009 14:32

Цитата:

Сообщение от B~Vladi
Чё придераешься к мелочам?!

Так это основная мысль, остальное вода.

Цитата:

Сообщение от B~Vladi
Я привёл мнение одного умного человека.

Не надо принимать на веру даже то, что написано очень умным, по вашему мнению, человеком.

B~Vladi 29.05.2009 15:14

Kolyaj, то есть вы не согласны с этой статьёй. Можно было сразу так и сказать;) Я не собираюсь никого убеждать...

B~Vladi 29.05.2009 15:18

Цитата:

Сообщение от Kolyaj
Не надо принимать на веру

А кому верить та?! какие книшшки читать?! Статьи?! Где инфу брать?! поделитесь пжлст мануалами:help:

Kolyaj 29.05.2009 15:24

B~Vladi,
я не говорю, что читать ничего не надо, я говорю, что слепо верить нельзя. Читайте, думайте, сопоставляйте с личным опытом, делайте выводы.

З.Ы. Мне, разумеется, тоже слепо верить не надо :)


Часовой пояс GMT +3, время: 17:21.