результат запроса. Следует отметить, что поведение mysqli_num_rows() зависит от характера буферизации выборки. Для небуферизованной выборки функция вернет верный результат только тогда, когда все значения будут получены и обработаны [14].
Таким образом, язык PHP эффективно поддерживает работу с базой данных MySQL. Приведенные встроенные функции дают возможность достаточно быстро организовать работу с СУБД MySQL.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1.Кто являлся родоначальником языка PHP?
2.Перечислите сферы применения языка PHP.
3.Перечислите основные версии языка PHP.
4.Назовите преимущества языка PHP.
5.С какими языками чаще всего сравнивают язык PHP?
6.Перечислите основные типы данных языка PHP.
7.Что представляет собой строка в языке PHP?
8.Что представляет собой массив в языке PHP?
9.Назовите основные функции работы с переменными, используемые
вязыке PHP.
10.Какие существуют типы операций в языке PHP?
11.Приведите классификацию баз данных.
12.Что такое поле и запись в терминологии реляционных баз данных?
13.Перечислите известные вам системы управления базами данных.
14.На какие категории условно можно разделить SQL-запросы?
15.С помощью какого выражения осуществляется добавление записей в таблицу базы данных?
56
4. ОБЗОР КЛЮЧЕВЫХТЕХНОЛОГИЙ ДЛЯ WEB 2.0
4.1.ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ
WEB 1.0,WEB 2.0,WEB 3.0,WEB 4.0
Развитие web-технологий зачастую сравнивают с развитием технологий передачи телевизионного изображения. Web, который чаще всего и подразумевается под словом «интернет», представляет собой совокупность (сеть) сайтов, использующих гиперссылки для перемещения между страницами [15]. По сути Web 1.0, Web 2.0, Web 3.0 и Web 4.0 являются некими историческими этапами, которые можно выделить в развитии интернета.
В 1990-е и до начала 2000-х годов существовали технологии, которые строились на применении статичных сайтов. Статичные сайты предназначались для чтения информации; гиперссылки были основными интерактивными элементами; обмен файлами был практически невозможен. Для разработки таких сайтов преимущественно использовались теги языка HTML; разметка сайтов также выполнялась с помощью создания таблиц на HTML, что сильно увеличивало объем кода страницы; такой код плохо воспринимался поисковыми роботами. В период существования Web 1.0 типы подключения к сети обладали достаточно низкой скоростью, что являлось сдерживающим фактором развития интернета. Так, видеоконтент
вэпоху Web 1.0 практически нигде не встречался.
Ксередине 2000-х годов методика, принципы и цели разработки сайтов начали претерпевать некоторые изменения. Ориентиры сместились на создание сайтов динамического содержания. Такое содержание могут формировать сами пользователи ресурса, также они могут осуществлять коммуникацию посредством форумов, чатов, социальных сетей, иных инструментов.
После появления высокоскоростного интернета набирал популярность любой медиаконтент. На смену Web 1.0 приходит Web 2.0 – качественно новый этап развития интернета.
57
Web 2.0 можно представить как методику проектирования систем, которые с помощью учета сетевых взаимодействий становятся тем эффективнее, чем большее число людей ими пользуется [15]. Направлением развития Web 2.0 является привлечение пользователей к оформлению и предоставлению контента, а также постоянная проверка этого контента на актуальность, объективность и адекватность. Сам термин Web 2.0 появился в статье Тима О’Рейли «What Is Web 2.0», опубликованной 30 сентября 2005 года. Статья была посвящена вопросам взаимосвязи трендов ин- тернет-сообщества и сайтов, схожих принципами проектирования. Web 2.0 охватывает большой спектр задач: от дизайна и разработки прототипов сайтов до применения новых механизмов ведения бизнеса в сети Интернет. Концепт Web 2.0 включает в себя различные технологические ориентиры.
Вто же время Web 2.0 не стоит отождествлять только с технологиями. Помимо технологий, в основе Web 2.0 лежат качественно новые идеи, основанные на таких явлениях, как социальные сети, коллективная информация и контент. В настоящий момент технологии этапа Web 2.0 позволяют даже начинающим разработчикам и контент-менеджерам активно участвовать в работе с сайтами, их наполнением и различного рода приложениями.
Вчастности, по этой причине блоги, социальные сети, форумы стали наиболее востребованными онлайн-инструментами сети. Таким образом, развитие Web 2.0 неотъемлемо привело к такому феномену, как социализация сети Интернет.
Из особенностей Web 2.0 можно выделить применение интернета как некой операционной системы. Программное обеспечение затронуто гло-
бальными изменениями: произошел переход от программных пакетов к сервисам работы в режиме онлайн, которые находятся в процессе постоянного развития и продвижения. Web 2.0 сопровождается моделью «Вечная бета», когда пользователи становятся со-разработчиками и сотестировщиками приложений, что, в свою очередь, позволяет поставщикам программ постоянно получать и накапливать обратную связь от ко-
58
нечного потребителя, и как следствие – производить на выходе такой цифровой продукт, который соответствует современным трендам и предпочтениям.
Онлайн-сервисы приводят к появлению понятия web-службы – набора приложений, которые выполняются на сервере и доступны через интернет. Данные передаются в формате XML. Приложения совершенно не зависят от платформы, поскольку конечный пользователь может работать с ними через браузер. Существует мнение, что web-службы со временем смогут полноценно заменить приложения, устанавливаемые на рабочих станциях, но на сегодняшний день замена web-службами настольного программного обеспечения маловероятна. Это обусловлено тем фактом, что использование web-служб предполагает постоянное стабильное соединение, что достаточно сложно обеспечить в настоящий момент в силу наличия человеческого фактора (например, обрыв провода сотрудником) и факторов, связанных с влиянием внешней среды (например, погодные условия).
Дизайн Web 2.0 имеет следующие отличительные черты:
1)простота;
2)интуитивная навигация;
3)крупные шрифты;
4)яркие названия;
5)баннеры.
Тем не менее дизайн не является основополагающим фактором, который обеспечивает удобство программного обеспечения. Исходя из этого, можно выделить еще одну особенность Web 2.0 – применение концепции
AJAX (Asynchronous JavaScript and XML). Концепция AJAX нацелена на разработку клиентских web-приложений с расширенными функциональными свойствами. Такие приложения отличаются высокой степенью интерактивности в сравнении с обычными web-приложениями [4, с. 77].
59
Следующей особенностью Web 2.0 является активное использование web-каналов, предназначенных для частого получения обновлений без прямого посещения сайтов. Популярными каналами в настоящий момент являются каналы Atom и RSS (подробнее они будут рассмотрены в разделе 4.2 четвертой главы). Их применение вместе с AJAX-технологией предоставляет конечному пользователю максимально широкие возможности в части поиска и генерации ответов на формирующиеся запросы. В результате образуется сеть, сочетающая в себе контент различных независимых ресурсов.
Одним из главных принципов Web 2.0 по праву можно считать привлечение клиентов в конкретный интернет-бизнес через процесс прямого участия клиентов в становлении и развитии этого бизнеса. Данный принцип носит название «принцип планирования и выполнения совместной работы»; он лег в основу таких масштабных web-проектов, как YouTube
иWikipedia. Также в результате реализации этого принципа осуществляется постоянное пополнение фонда данных.
Таким образом, можно сделать вывод, что Web 2.0 кардинально изменил восприятие сети Интернет. Благодаря Web 2.0 произошла качественная переоценка пользовательского контента, а также изменился подход к разработке: на первый план выходят функциональная совместимость
иудобство работы сайта.
Web 3.0 базируется на концепции семантической сети, но сегодня выходит за рамки семантики. Основные составляющие элементы концепции
Web 3.0:
1.Усиление важности семантики сайтов. Влияние семантики ведет
кпоявлению умного поиска и анализа данных, которые дают возможность роботам понимать значение слов, а не воспринимать их как ключи.
2.Применение искусственного интеллекта. Благодаря искусственному интеллекту роботы начинают различать информацию и формировать быстрые ответы на запросы.
60
3.Появление 3D-графики. Трехмерный дизайн становится инструментом, который активно используется при создании сайтов, компьютерных игр, рекламы и пр.
4.Доступ к интернету через любое устройство: планшет, телефон, часы и т. д. [17].
Основной проблемой Web 2.0 является непонимание роботами контента с точки зрения контекста, что ведет к сложности определения степени актуальности, достоверности и адекватности размещенного материала
всети (в рамках Web 2.0 необходима постоянная проверка материала). Web 3.0 позволяет решить данную проблему путем применения языковой обработки текстов [16].
Web 4.0 является следствием стремительного развития информационных технологий в части повышения качества коммуникации между пользователем и роботом. На этапе Web 4.0 изменятся взаимоотношения между людьми и роботами, характер отношений станет симбиотическим. Непрерывный доступ к роботам будет формировать зависимый характер повседневной жизни обычного пользователя. Технологии виртуальной и дополненной реальности станут более востребованы. Проекты блокчейн Free TON, ChainLink смогут представить такие результаты, как децентрализованные финансы, невзаимозаменяемые токены.
Можно выделить характерные черты концепции Web 4.0:
1) протокооперативные взаимоотношения между человеком и робо-
том;
2) активное применение искусственного интеллекта;
3) интернет выступает в качестве полноценного собеседника; 4) все действия, совершенные в сети, быстро и точно отслеживаются;
5) интернет предлагает наиболее высокую скорость и безопасность данных, чем в какой-либо другой период.
Сравнение технологий Web приведено в табл. 4.1 [18].
61
|
|
|
|
Таблица 4.1 |
|
|
Сравнение Web 1.0, Web 2.0, Web 3.0, Web 4 .0 |
|
|
||
|
|
|
|
|
|
Критерий |
Web 1.0 |
Web 2.0 |
Web 3.0 |
Web 4.0 |
|
сравнения |
|
|
|
|
|
|
|
|
|
|
|
Обобщенное |
Интерактивная |
Программиру- |
Паутина свя- |
Нейрокомму- |
|
описание |
паутина |
емая |
занных данных |
никационная |
|
|
|
паутина |
|
паутина |
|
|
|
|
|
|
|
Единица пред- |
Веб-страница |
Веб- |
Пространство |
Пространство |
|
ставления |
|
приложение |
данных |
вещей |
|
|
|
|
|
|
|
Значимая еди- |
Адрес статич- |
Адрес веб- |
Адрес объекта, |
Адрес устрой- |
|
ница обмена |
ной страницы |
приложения |
сущности |
ства |
|
данными |
|
|
|
|
|
|
|
|
|
|
|
Зернистость |
Низкая |
Средняя |
Высокая |
Очень высокая |
|
данных |
(html-страница) |
(xml-теги) |
(объекты RDF) |
|
|
|
|
|
|
|
|
Услуги |
Поиск (резуль- |
Сообщества |
Поиск (резуль- |
Поиск (резуль- |
|
|
таты поиска не |
(блоги в соци- |
таты поиска |
таты поиска |
|
|
точны) |
альных сетях) |
точны) |
максимально |
|
|
|
|
|
точны) |
|
|
|
|
|
|
|
Фактор уча- |
Низкий |
Средний |
Высокий |
Очень высокий |
|
стия пользова- |
|
|
|
|
|
теля |
|
|
|
|
|
|
|
|
|
|
|
Фактор удо- |
Низкий |
Средний |
Высокий |
Очень высокий |
|
влетворенно- |
|
|
|
|
|
сти пользова- |
|
|
|
|
|
теля от исполь- |
|
|
|
|
|
зования сайта |
|
|
|
|
|
|
|
|
|
|
|
Фактор субъ- |
Высокий |
Средний |
Низкий |
Очень низкий |
|
ективности |
|
|
|
|
|
|
|
|
|
|
|
Уровень |
Низкий |
Средний |
Высокий |
Очень высокий |
|
трансклюзив- |
|
|
|
|
|
ности данных |
|
|
|
|
|
|
|
|
|
|
|
Доступность |
Низкая |
Средняя |
Высокая |
Очень высокая |
|
данных |
|
|
|
|
|
|
|
|
|
|
|
62
|
|
|
Окончание табл. 4.1 |
||
|
|
|
|
|
|
Критерий |
Web 1.0 |
Web 2.0 |
Web 3.0 |
Web 4.0 |
|
сравнения |
|
|
|
|
|
|
|
|
|
|
|
Средства иден- |
Слабые |
Средние |
Сильные |
Очень сильные |
|
тификации |
|
|
|
|
|
пользователей |
|
|
|
|
|
|
|
|
|
|
|
Модель дан- |
Логическая (на |
Логическая (на |
Концептуаль- |
Нейрокомму- |
|
ных |
основе DOM) |
основе XML) |
ная (RDF) |
никационная |
|
|
|
|
|
|
|
Пользователь- |
Статичный |
С возможно- |
Полностью ди- |
Полностью |
|
ский интер- |
|
стью частично- |
намический |
динамический |
|
фейс |
|
го изменения |
|
|
|
|
|
со стороны |
|
|
|
|
|
клиента |
|
|
|
|
|
|
|
|
|
В настоящее время интернет находится на этапе Web 2.0 с некоторыми элементами Web 3.0. Многие идеи Web 3.0, в частности приложения Web 3.0, существуют на ранней стадии, но пока новый интернет целиком не встроится в web-инфраструктуру, оценить их потенциал достаточно сложно. В будущем новый интернет обеспечит персонализированный «умный» подход к поиску данных, а также будет максимально интегрирован во все сферы жизни.
4.2.СИНДИКАЦИЯ И АГРЕГИРОВАНИЕ WEB-КОНТЕНТА.
ТЕХНОЛОГИИ RSS И ATOM
Синдикацией web-контента принято считать процесс, в рамках которого материалы (контент) одного web-сайта предоставляются другим webсайтам [7, с. 119]. В основном синдикация направлена на увеличение количества обратных ссылок и трафика для передающего сайта и повышение степени информативности принимающих контент сайтов. Из этого можно сделать вывод, что синдикация контента является одним из взаимовыгодных каналов продвижения сайтов.
63
Контент, который был синдицирован, содержит встроенные оптимизированные ссылки, прямо связанные со ссылками на исходный контент. Таким образом, синдикация web-контента может быть применена для распространения следующих характеристик продукта: изображения, описания функционала и спецификации.
С технической точки зрения синдикацию можно рассматривать как формирование доступных с сайта потоков, представляющих конечным потребителям (пользователям) в виде краткого анонса данные об обновлениях, появившихся на сайте (например, новости, сообщения и т. д.), в определенном формате. Такие потоки объединяются для того, чтобы пользователи имели возможность подписаться на них. Процесс создания пула потоков, которые локализованы и доступны в одном месте, называется агрегированием. В процессе создания подобных пулов применяются агрегаторы. Агрегатор потоков (feed aggregator) – клиентское webприложение, собирающее синдицированный web-контент, такой как новостные заголовки, блоги, подкасты и другие, в одном месте для более удобного просмотра [7, с. 119].
Взаимодействие web-потоков и агрегаторов включает в себя следующие шаги:
1.Поставщик контента публикует в доступе ссылку на web-поток со своего ресурса.
2.Пользователь регистрирует ссылку посредством агрегатора на своей рабочей станции.
3.Агрегатор производит опрос серверов, находящихся в списке зарегистрированных потоков, для того чтобы получить новый контент.
4.При наличии нового материала агрегатор может:
а) проинформировать пользователя об обновлении контента; б) загрузить обновления контента без информирования пользователя.
Многие браузеры способны агрегировать web-потоки. Это можно сделать с помощью ввода адреса потока в поисковой строке или клика на гиперссылку в браузере. Формат данных в web-потоке не является читае-
64
мым для обычных пользователей, поскольку он предназначен лишь для переноса контента с одного сайта на другой.
При сравнении web-потока с почтовой технологией доставки обновляемых данных можно привести ряд достоинств применения web-потоков:
1)при подписке на поток пользователь не предоставляет адрес своей электронной почты, поэтому в рамках данной технологии угрозы (спам, фишинг) не имеют значительного влияния;
2)в случае если больше нет необходимости использовать web-поток, пользователь не должен отправлять запрос на отказ от рассылки, он просто исключает конкретный поток из агрегатора;
3)при использовании web-потоков существует достаточное количество возможностей для осуществления сортировки сообщений;
4)многие браузеры могут работать с web-потоками с помощью встроенного функционала (закладок, избранного и т. д.). Также существует специальное программное обеспечение, предназначенное для чтения потоков, например, Thunderbird, Outlook. В то же время агрегатор дает возможность объединения данных с разных потоков в едином окне приложения.
Как правило, контент с сайта передается на другие сайты посредством сайта-источника. Но не каждый web-сайт имеет поток. В таких случаях применяются средства аналоговых программных инструментов.
Существует два основных формата синдикации контента – RSS (Rich Site Summary) и Atom. RSS представляет собой семейство форматов XML, необходимых для описания анонсов статей, новостных лент, обновлений материалов и др. и их передачи в структурированном виде. Достаточно часто данный формат применяется в порталах и различных блогах. Ленту RSS легко присоединить к Турбо-страницам, Yandex.News, Google.News.
Первая версия RSS – это версия 0.90. Формат базировался на стандар-
те схемы описания потоков (RDF, Resource Description Framework) и был сложен в применении. Поэтому по истечении некоторого времени появилась версия 0.91. С 2000-х годов происходит разделение форматов.
65
Группой разработчиков был предложен формат RSS 1.0, основанный на стандартах XML и RDF. Суть этого формата заключалась в том, что его расширения реализовывались через специальные модули расширений, имеющие описания в пространствах имен. Данный проект был тесно связан с технологией Semantic Web – частью концепции развития сети Интернет, нацеленной на реализацию возможности машинной обработки информации с применением метаданных.
Формат RSS 0.92 стал последователем версии 0.91 и предназначался для тех пользователей, которым было затруднительно разобраться с RDFописанием. Дальнейшим развитием этой ветки стал формат RSS 2.0 [19].
Поскольку RSS-технология имеет несколько версий формата каналов, средствам-агрегаторам необходимо уметь работать с каждой из версий. Следствием существования нескольких версий RSS является и то, что единого принятого стандарта RSS нет. По статистике, использование форматов в процентном соотношении следующее:
•порядка 50 % RSS-потоков используют RSS 0.91;
•порядка 25 % используют RSS 1.0;
• оставшиеся 25 % RSS-потоков распределены между RSS 0.9
и RSS 2.0 [19].
Технология работы RSS основана на следующей цепочке событий: происходит публикация статьи или новости в определенное время. Затем скрипт записывает краткое описание публикации в RSS-файл, после чего файл считывается инструментами-агрегаторами. Агрегаторы уведомляют пользователей об обновлениях на основании считанной информации. Оповещения об обновлениях приходят не после каждой публикации.
Следует выделить преимущества использования канала RSS:
•Объединение всей информации в один поток, который доступен для быстрого просмотра.
•Плата за пользование каналом не взимается.
•Оперативное уведомление – практически сразу пользователь узнает об обновлениях контента.
•Отсутствие рекламных материалов.
66
•Экономия трафика.
•Сокращение временных затрат.
К недостаткам формата RSS можно отнести:
•Избыточность данных, доступных пользователю.
•Плагиат контента.
В2005 году появляется новый формат (конкурент RSS) – Atom. Уже
в2006 году данный формат получает поддержку от организации W3C (Консорциума Всемирной паутины) и становится полноценным аналогом RSS. Atom является обобщением двух взаимосвязанных технологий: определенного формата для описания ресурсов и представления протоколов для их публикации. Первая технология – формат Atom – базируется на принципах XML и предполагает возможность описания наборов ресурсов (новостей, блогов, анонсов и др.). Он схож с форматом RSS, но в ходе его разработки были учтены проблемные места RSS. Вторая технология – представление протокола публикации Atom – базируется на HTTP и позволяет редактировать коллекции ресурсов на сайтах. Наполнение коллекции переводится в формат Atom. Протокол публикации Atom описан
вRFC 5023 – документе, содержащем модель протокола Atom, перечень протокольных операций, описания типов документов, правила создания и редактирования ресурсов и т. д. Основными параметрами ленты в рамках технологии Atom являются:
1) id – идентификатор новостной ленты;
2) title – наименование канала или сайта;
3) updated – дата и время последнего обновления.
Atom имеет широкие возможности использования относительной адресации, а также проверки лент на обоснованность и действительность. Atom по праву считается открытым стандартом IETF (Internet Engineering Task Force – Инженерного совета Интернета).
Сравнение технологий Atom и RSS по основным характеристикам приведено в табл. 4.2 [20].
67
|
|
|
|
Таблица 4.2 |
|
|
Сравнение технологий Atom и RSS |
|
|
||
|
|
|
|
|
|
№ |
Критерий сравнения / харак- |
Технология RSS |
|
Технология Atom |
|
п/п |
теристика |
|
|
|
|
|
|
|
|
|
|
1 |
Распространенность |
Основной формат |
|
Основной формат |
|
|
|
для онлайн-сервисов |
|
для онлайн-сервисов |
|
|
|
|
|
|
|
2 |
Стандартизация |
Много конкурентных |
|
Открытый стандарт |
|
|
|
стандартов |
|
IETF |
|
|
|
|
|
|
|
3 |
Публикация информации |
Протоколы |
|
Протокол |
|
|
|
MetaWeblog и Blogger |
|
Atom Publishing |
|
|
|
|
|
Protocol |
|
|
|
|
|
|
|
4 |
Обязательное содержание |
Требует наличие |
|
Требует наличие |
|
|
|
названия, ссылки |
|
названий канала и за- |
|
|
|
и описания на уровне |
|
писей, уникального |
|
|
|
канала |
|
идентификатора и вре- |
|
|
|
|
|
менных меток послед- |
|
|
|
|
|
него обновления |
|
|
|
|
|
|
|
5 |
Типы содержания |
Содержит только тек- |
|
Контейнер содержания |
|
|
|
стовую или только ги- |
|
проработан и включает |
|
|
|
пертекстовую инфор- |
|
в себя простой текст, |
|
|
|
мацию; модель содер- |
|
экранированный html, |
|
|
|
жания заголовков |
|
оформленную размет- |
|
|
|
не определена |
|
ку, указатель на внеш- |
|
|
|
|
|
нее содержимое, не |
|
|
|
|
|
находящееся в канале |
|
|
|
|
|
|
|
6 |
Агрегация |
Предоставление досту- |
|
Предоставление досту- |
|
|
|
па к документу только |
|
па к автономным доку- |
|
|
|
целиком |
|
ментам; поддержка аг- |
|
|
|
|
|
регированных каналов |
|
|
|
|
|
с обратной связью |
|
|
|
|
|
на канал-источник |
|
|
|
|
|
|
|
7 |
Расширяемость |
Содержит элементы |
|
Определен как про- |
|
|
|
других пространств |
|
странство имен XML |
|
|
|
имен XML |
|
|
|
|
|
|
|
|
|
68
|
|
|
Окончание табл. 4.2 |
|
|
|
|
№ |
Критерий сравнения / харак- |
Технология RSS |
Технология Atom |
п/п |
теристика |
|
|
|
|
|
|
8 |
Адресация |
Не описывает порядок |
Поддерживает атрибут |
|
|
обработки относитель- |
<xml:base> для указа- |
|
|
ных ссылок, необходи- |
ния базового адреса |
|
|
мо использовать абсо- |
всех относительных |
|
|
лютные ссылки |
ссылок |
|
|
|
|
9 |
Теги интернационализации |
Применяет свой эле- |
Использует XML- |
|
|
мент <language> |
атрибут <xml:lang> |
|
|
|
|
10 |
Цифровая подпись и шифро- |
Есть возможность |
Есть возможность под- |
|
вание |
подписания и шифро- |
писания и шифрования |
|
|
вания подобно любому |
подобно любому дру- |
|
|
другому веб-контенту |
гому веб-контенту; |
|
|
|
поддерживает стандар- |
|
|
|
ты XML и XML Digital |
|
|
|
Signature |
|
|
|
|
11 |
Представление категорий |
Определяются двумя |
Категории расположе- |
|
|
составляющими: мет- |
ны в иерархическом |
|
|
кой категории и доме- |
порядке; каждая из них |
|
|
ном, где эти категории |
имеет читаемый заго- |
|
|
представлены |
ловок |
|
|
|
|
12 |
Наличие и типы схем |
Не использует схем |
Включает поддержку |
|
|
|
стандарта RelaxNG |
|
|
|
|
Стандарт Atom дает возможность в определении 20 элементов канала новостей, в то время как стандарт RSS (в частности, его усовершенствованная версия RSS 2.0) – более 30 элементов. Большинство элементов RSS и Atom не имеет общих точек пересечений и четких соответствий альтернативным форматам. В то же время, несмотря на достаточно большое количество реализованных элементов, часть из них не применяется в практической сфере.
На основании вышеприведенных данных можно сделать вывод о том, что формат Atom является более универсализированным инструментом
69
синдикации и агрегирования контента. Данный формат в настоящее время активно применятся в процессе создания новых приложений, которые работают с каналами. Формат RSS (в частности, RSS 2.0) широко известен и продолжает поддерживаться. Организация W3C обсуждает введение нового стандарта ActivityStreams, что говорит о дальнейшем развитии технологии RSS.
4.3.AJAX: ОСОБЕННОСТИ И ПРИНЦИПЫ ПРИМЕНЕНИЯ
Всфере web-разработки Ajax (Asynchronous JavaScript and XML) не принято определять как самостоятельную технологию; скорее это подход
кпроектированию и разработке web-приложений, который основывается
на стеке сразу нескольких современных технологий. К технологиям
врамках подхода Ajax следует отнести: HTML, CSS, JavaScript, DOM, XML и XMLHttpRequest.
Идеи, напоминающие концепт Ajax, зародились в сфере web-разработ- ки в 1990-х годах. В 1998 году был придуман механизм, в основу которого лег принцип удаленного вызова серверных процедур с помощью скрипта клиента (например, инструмент Remote Scripting компании Microsoft работал в соответствии с данным принципом). Некоторые теги появившегося механизма (например, тег iframe) начали применяться еще в 1996 году. Но подобный подход не мог дать таких широких возможностей, которые
вдальнейшем обеспечил подход Ajax. Одним из основоположников Ajax считается глава компании Adaptive Path Джесси Джеймс Гарретт, который
в2005 году написал статью об этом подходе с его подробным описанием. С того момента Ajax становится популярным стеком web-технологий.
Отличительной чертой Ajax считается обмен данными с сервером без загрузки всей web-страницы, что позволяет типовому web-приложению с более высокой скоростью реагировать на действия пользователей. Также благодаря Ajax можно производить обновление только некоторой части страницы (в зависимости от полученной информации).
70
Таким образом, можно сделать вывод, что в основе Ajax лежат два принципа:
1)динамическое обращение к серверу без перегрузки страницы;
2)использование DHTML (Dynamic HTML) для изменения наполнения страницы.
Работа с применением Ajax включает в себя следующие шаги:
• Пользователь осуществляет взаимодействие с web-страницей через элементы этой страницы (например, кнопки, текстовые поля и др.).
• Скрипт выявляет данные, необходимые для обработки запроса, и запускает отправку данных на сервер посредством специального объекта
(например, XMLHttpRequest).
• Сервер принимает запрос, обрабатывает его и отправляет ответ
вопределенном формате: XML, JSON и т. д.
•Скрипт принимает ответ сервера на запрос, производит его анализ, на основании проведенного анализа преобразовывает наполнение страницы с помощью DOM и CSS, при этом не перегружая саму страницу.
В работе с применением Ajax следует уделить внимание следующим особенностям:
1. Создание объекта XMLHttpRequest для процедур получения и отправки информации. Данный объект служит для настройки подключения к серверу, определения метода и адреса запроса, а также для передачи данных и обработки ответа на запрос. Большинство современных браузеров имеет встроенный XMLHttpRequest.
Синтаксис создания объекта XMLHttpRequest выглядит следующим образом:
Имя_переменной= new XMLHttpRequest();
2. Применение методов open(method, url, async, user, psw), send()
и send(content) для проведения отправки запросов на сервер. Метод open(method, url, async, user, psw) может принимать следующие параметры:
•тип запроса (GET, POST);
•адрес запроса (расположение файла, url);
71
•параметр синхронности/асинхронности (значения: true, false);
•имя пользователя (необязательный параметр, user);
•пароль (необязательный параметр, psw).
Параметром метода send(content) может быть любая информация, которую необходимо передать на сервер (данные преобразовываются в строку запроса). Этот метод используется для запросов типа POST.
Метод send() используется для запросов типа GET [21]. Запрос по типу GET проще, чем запрос по типу POST. Но с запросами по типу POST предпочтительнее работать в ряде случаев:
•при отправке на сервер большого массива данных;
•при необходимости обеспечения более высокого уровня надежности (в сравнении с запросами по типу GET).
3. Применение свойств объекта XMLHttpRequest: readyState и status.
Свойство readyState определяет текущее состояние объекта XMLHttpRequest (этап исполнения запроса), а именно:
0 – запрос не инициализирован;
1 – соединение с сервером есть;
2 – запрос получен;
3 – запрос обрабатывается;
4 – запрос обработан, ответ получен.
Свойство status предназначено для возвращения статуса запроса: 200 – ОК (успешно);
403 – Forbidden (запрещено);
404 – Not Found (не успешно) [21].
4. Работа со свойствами объекта XMLHttpRequest responseText или responseXML, предназначенными для возвращения информации из ответа сервера. Свойство responseText позволяет хранить текстовые данные ответа (формат HTML или JSON). Свойство responseXML позволяет хранить документ XML (RSS или Atom). Иными словами, responseText организует возврат данных в виде строк, responseXML – в виде XML.
72
5.Работа со свойством объекта XMLHttpRequest onreadystatechange.
Свойство определяет функцию-обработчик события, наступающего при изменении значения свойства readyState.
6.Применение методов setRequestHeader(label, value), getResponseHeader(headerName), abort(). Два первых приведенных метода позволяют работать с заголовками запросов и ответов. В заголовках содержится информация о типе наполнения, кодировке и т. д. Метод setRequestHeader(label, value) принимает два параметра:
•метка (label);
•значение (value).
После того как параметры приняты, метод добавляет HTTP-заголовок к запросу с использованием значений вышеприведенных параметров.
Метод getResponseHeader(headerName) возвращает значение заголовка ответа сервера с именем headerName.
Третий приведенный метод, abort(), служит для отмены выполнения текущего запроса, то есть способен сбросить как соединение с сервером, так и свойства объекта XMLHttpRequest, таким образом, вернув объект в начальное состояние. Метод применяется в том случае, когда запрос необходимо отменить по какой-либо причине.
Ajax, как и любой подход в сфере web-разработки, имеет ряд достоинств и недостатков.
К достоинствам Ajax относят:
1.Экономное использование трафика и оптимальное распределение серверной нагрузки, поскольку работа осуществляется только с необходимыми данными.
2.Повышение скорости отклика приложений на действия пользователей за счет отсутствия перезагрузки страницы.
3.Повышение степени интерактивности web-приложений за счет возможности создания сложных элементов управления.
73
Среди недостатков Ajax следует выделить:
1.В ряде случаев отсутствует интеграция со средствами браузера.
2.Материалы, которые загружаются динамически, находятся вне доступа для поисковых систем, если не предопределен иной способ доступа
кматериалам.
3.Учет статистики перемещений по сайту происходит некорректно ввиду того, что не фиксируются переходы между разделами сайта.
4.Контроль целостности данных является недостаточно полным, поскольку форматирование контента в большей степени реализуется на стороне клиента.
5.Для полноценной работы Ajax необходимо включение JavaScript в браузере клиента.
Исходя из приведенных достоинств и недостатков можно определить процессы, где используется Ajax:
• Работа с формами. Работоспособность форм сильно снижается в случае синхронной передачи данных; Ajax позволяет осуществлять передачу данных асинхронно.
•Проектирование навигации по типу «дерево». Для такой навигации Ajax является оптимальным подходом.
•Контроль комментариев и фильтров. Работа с комментариями
ифильтрами наиболее удобна, если происходит в режиме реального времени.
Ajax применяется в большинстве современных web-приложений. Приложения с большим охватом пользователей приведены в табл. 4.3.
|
|
Таблица 4.3 |
|
Приложения, использующие Ajax |
|
|
|
|
№ |
Наименование серви- |
Функционал, где используется Ajax |
п/п |
са/web-приложения |
|
|
|
|
1 |
Google Suggest |
Подсказки в режиме реального времени |
2 |
Google Maps |
Перемещение и масштабирование карты без переза- |
|
|
грузки страницы |
|
|
|
3 |
Gmail |
Работа с письмами без перезагрузки страницы |
74
