Снижение нагрузки через JavaScript/AJAX

Главные вкладки

Аватар пользователя WiseMan WiseMan 30 октября 2009 в 0:54

Наткнулся на модуль JavaScript/AJAX page callback.

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

Что можете сказать о полезности данного модуля?

Комментарии

Аватар пользователя WiseMan WiseMan 30 октября 2009 в 4:58

"<a href="mailto:shamaner@drupal.org">shamaner@drupal.org</a>" wrote:
да снижает, если грузить не все страницу а только данные иль часть данных и не xml а json лучше.

А чуть подробнее, применительно к данному модулю можно? вторая часть фразы не совсем понятно как относится к модулю.

Аватар пользователя Demimurych Demimurych 30 октября 2009 в 12:32

"WiseMan" wrote:
А чуть подробнее, применительно к данному модулю можно?

понять идею модуля можно на простом примере

Итак простая ситуация при регистрации пользователя.

есть кнопка проверки занятости имени пользователя,при нажатии на которую ваша страница используя соответствующий js код посылает GET запрос - /is_user_name_exist/name

ваш модуль обрабатывающий этот путь возвращает json массив содержащий одно значение ДА такое имя есть или НЕТ такого имени нет.

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

Что происходит с друпалом при таком запросе, он выполняет типичные для формирования страницы функции, которые ЧАСТО для такого ответа просто ненужны.

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

Для нашего примера, нам всего то нужно сделать один запрос к базе с именем и вернуть да/нет. Нам не нужен DRUPAL_BOOTSTRAP_FULL. Нам не важны хуки других модулей. И так далее.

Экономия очевидна

Аватар пользователя shamaner shamaner 30 октября 2009 в 20:45

Demimurych -- нормально написал. Правда есть одно но, аякс это обновление части страниц без перезагрузки всей страницы-это да, но то что обновляется аяксом не индексируется поисковиком.

Аватар пользователя Demimurych Demimurych 31 октября 2009 в 14:15

"shamaner" wrote:
Demimurych -- нормально написал. Правда есть одно но, аякс это обновление части страниц без перезагрузки всей страницы-это да, но то что обновляется аяксом не индексируется поисковиком.

Это уже зависит от того, каким образом релизован сайт.

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

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

Аватар пользователя alexandr.poddubsky alexandr.poddubsky 2 ноября 2009 в 5:14

"Demimurych" wrote:
аякса так и с ним.

аякс это жаба и хмл в классическом варианте в неклассическом json и ahah. будем счситать что просто с использованием жабы.

"Demimurych" wrote:
о есть механизм аякса используется как надтсройка облегчающая работу с сайтом. При таком подходе все отлично индексируется.

уверены? Smile

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

"Demimurych" wrote:
Кроме того, никто не мешает в теле страницы поставить невидимые глазу ссылки на страницы которые вы подгружаете аяксом. Поисковик их проиндексирует.

не а, не проиндексирует. скажите флэшка индексируется ? ответ нет- вопрос а почему у других индексируется-ответ потому что в фоне грузится xml, то есть чтоб подргрузить для поисковика нужно в фоне подгрузить нужное для него. иль я не прав? Smile