Модераторы: Sardar
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ajax-дублёр сайта 
:(
    Опции темы
12345c
Дата 17.8.2006, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: нет
Всего: 101



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

Замечаю, что любому без исключения сайту пригодится подгрузка частей любой страницы. Чтобы отсеять ботов (чтобы они не выпадали на статическую ajax-страницу при переходе), можно встроить несложный скрипт проверки на паузу между обращениями при работе с данным посетителем и на прочие признаки (наличие куки, имя агента). Так как в сумме это - довольно большой, тонко настраиваемый и сложный скрипт, то естественно его вынести в библиотеку. (Тут же не забываем о рассуждениях об актуальности выброса ненужных модулей из библиотеки).
Цитата
Нужно устроить механизм чистки объекта от ненужных компонентов на уровне написания или генерации кода - механизм связывания процедур и задач. Скажем, понадобилось нам в конкретной реализации сделать из объекта только меню в шапке и вызов страниц, но не нужно выведение страниц в слои и выведение данных с разной подробностью - автоматически выбрасываем ...

Итого, идея в том, чтобы для ботов сайт был статическим, а для простых посетителей широко использовал ajax. Где? Хотя бы в подгрузке внутренностей страниц, за исключением шапки, футера и навигации. Конечно, он должен действовать и на шапку+навигацию для смены стиля нажатой ссылки и для смены баннеров. Поэтому другие элементы библиотеки взаимосвязаны с рассматриваемым. С другой стороны, ничего не мешает игнорировать соответствие навигации и шапки этому компоненту и писать их, как вздумается. Но тогда должны быть другие механизмы смены баннеров или их отключения. (Забота о баннерах - это тоже отдельная тема, и она должна быть вынесена в отдельный модуль. В частности, хорошо иметь различие между авторизованными пользователями и анонимными - заменять первым общую рекламу на целевую текстовую, уменьшать размер шапки - это всё функции рекламного модуля.)

Тогда траффик заметно экономится уже на непередаче скелета страницы. Дополнительные возможности в связи с аяксом возникают, если на странице есть свёрнутые блоки. Их можно изначально описать так, что при подключённом аяксе блоки, превышающие некоторый критический размер, не загружались бы на страницу. Так же, изначально развёрнутые блоки на очень больших страницах тоже напрашиваются подгрузиться по мере надобности - когда посетитель прокрутит страницу до них. Над этой моделью - виртуальной большой страницей - надо подумать, как бы её лучше реализовать, тогда бы произошла огромная экономия траффика и более правильная статистика просмотра фрагментов документов сайта. Особые проблемы - это особая работа поиска по странице в этом случае (сделать специальный поиск) и особая работа сохранения страницы (сделать предложение сохранить архив помимо стандартной кнопки). (Представляю, как возрадуются ценители отдачи информации с сайта - копировать сайт менеджером закачек действительно будет затруднительно, если только не прикинуться ботом smile. Не меньше возрадуются и любители вводить в заблуждение ботов (как они зовутся? клоакингисты?). )

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

Общая схема действия механизма такая: первое посещение пользователя происходит по статической странице (в том числе ими назовём страницы форумов, блогов, обсуждений, т.е. серверно-динамические). Второе обращение ведётся с участием аякса - или используется первая принятая страница как базовая скелетная, или, если требуется сделать приличный УРЛ, загружается новая страница - или корневая (index.php|htm), или специальная, типа ajax.htm, которая организована так, что поисковикам на ней делать нечего вообще, она как бы не существует на сайте, но существенно влияет на производительность работы.

/конец сообщения

Замечу, как начало другой темы, ещё надобность в статическом образе динамического (в смысле, на серверных скриптах) сайта. Механизм тоже общий, простой, но сложен, чтобы заниматься им каждый раз снова. Если страница (статья из БД) не меняется, её берём из статического образа сайта, а любое изменение подменяет статическую страницу. Идея очень древняя, ей пользовались, когда скрипты были слабы. Но она реально и сейчас ускоряет загрузку страниц на нагруженных серверах.

Следующая заметка на будущую тему - модуль безопасности. Как на клиенте, так и серверный.
PM WWW   Вверх
12345c
Дата 17.8.2006, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: нет
Всего: 101



Замечу, что аякс можно использовать и в локальных копиях сайта, в архивах. Только старые браузеры на нём не будут работать, отобенно это касается Оперы младше 9-й версии, об остальных можно не беспокоиться. Всё же, для старых браузеров при локальном просмотре можно устроить дополнительные процедуры, заменяющие аякс на обычные вызовы локальных файлов в фреймы, а для онлайна этого делать не обязательно, так как процент старых браузеров уменьшается, а подмена на "статическую" (в смысле клиентского ajax) версию сайта всегда возможна.

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

(Она копируется не просто, а с помощью серверных скриптов, входящих в модули сайта и отвечающих за передачу данных и преобразование представлений. (Ещё одна тема.) Данные извлекаются из БД, переводятся в формат XML или JSON, хранятся в файлах. (Возможно обратное преобразование и пользование копиями частей базы для восстановления данных.) Не исключено и файловое представление базы на сервере.)
PM WWW   Вверх
cruelangel
Дата 12.9.2007, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: нет
Всего: 8



не надо никаких дублёров - делаем нормальные ссылки и вешает на onclick аякс загрузчик.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ViJio - фреймворк для JS | Следующая тема »


 




[ Время генерации скрипта: 0.1036 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.