Ajax как читается
Перейти к содержимому

Ajax как читается

Несколько вещей об Ajax, которые должен знать веб-мастер

По-английски AJAX произносится как эй-джэкс, по-русски довольно распространено ая́кс.
Вроде бы всё красиво, но есть несколько подводных камней, о которых я вам ниже и расскажу.

Ajax — это не просто акроним, это идея

Хотя Ajax и является акронимом от «Асинхронный JavaScript и XML», это не раскрывает его идеологию. Ajax – это идеология, которая гласит, что для работы серверного веб-приложения, совсем не обязательно перезагружать всю страницу, бесполезно гоняя данные от сервера к клиенту и обратно. Использование Ajax’a позволяет сделать веб-приложение более гибким и современным, позволяя пользователям работать с веб-приложением более продуктивно и удобно.

ajax130508.jpg

Это действительно JavaScript

Ajax-приложения пишут на JavaScript и, как правило, используют объект XMLHttpRequest для передачи данных (для браузеров от Microsoft — ActiveXObject(Microsoft.XMLHTTP) — ничего не поделаешь). Объект XMLHttpRequest был одобрен World Wide Web Consortium. Поскольку технология получила широко распространение относительно недавно, то никакого общего стандарта нет, и как следствие — разные браузеры могут по разному понимать Ajax или просить особо подхода, яркий пример чего — это браузеры от Microsoft. Для более глобальной совместимости можно использовать другие технические решения, к примеру фреймы, кукисы, Java-аплет или Flash. Однако если фреймы и куки не всегда справляются с возложенной задачей, то Java-аплет или Flash слишком тяжеловесны. Вы когда-нибудь в страшном сне представляли админку WordPress’a сделанную полностью на флеше?

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

Разработчики, которые считают JavaScript второсортным или вредным языком, избегают его как только могут. Однако если перед вами стоит задача написать Ajax-приложение, вам всё равно придётся использовать JavaScript. Аналогией могут служить разве что Java-аплеты или Flash.

Ajax очень интерактивен, потому при ошибках проектирования приложения или кодинга, могут возникнуть проблемы. Ajax принял в наследство все правила хорошего тона от JavaScript, все правила и запреты — это касается написания, отладки и тестирования уже готового приложения.

XML вовсе необязателен

Не смотря на то, что «X» в акрониме Ajax пошла именно от XML, его использование вовсе необязательно. Вполне допустимо использовать просто текст, предположим, с разделителями, а то и просто куски HTML кода (что я и делаю, в общем-то, скрипт, к которому отправлялся запрос генерирует готовый кусок кода, который просто заменяет предыдущий код). А ещё кто-то использует YAML разметку.

XMLHttpRequest пока плохо работает с бинарным форматом данных, в отличие от Flash. Но скоро такая ситуация, как мне кажется, будет исправлена. Уже сейчас есть фиксы, костыли — но всё не то.

Как вывод — проанализируйте, какой формат данных в вашем случае удобней и быстрее обрабатывается. К примеру для несложных манипуляций замечательно подойдёт YAML или CSV, а XML будет излишне толстым 🙂

Рассчитывайте и планируйте увеличение HTTP запросов

Самая очевидная проблема для веб-мастера заключается в том, что что веб-приложение отныне будет отсылать не пару сотен килобайт раз, к примеру, в 10 минут, а более часто более мелкими объёмами. На деле это означает возможность возникновения задержек в обработке Ajax-запросов и усиления нагрузок на веб-сервер. Это следует учитывать ещё на уровне проектирования Ajax-приложения.

Оптимизируйте Ajax-запросы аккуратно

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

Однако есть решение лучше — кеширование запросов. Причём не утруждайте себя изобретением велосипеда с попыткой закешировать это на строноне клиента — кешируйте прямо на сервере. Ajax-приложение выйграет от этого много больше, чем от сжатия.

Помните о максимальном количестве соединений

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

Следите за полученными ответами

В традиционном веб-приложении, разработчики обычно не заморачиваются порядком получения данных пользователями. Да по сути, это и не нужно. Ajax такого не любит. Важно соблюдать очерёдность «отправка-приём-обработка полученного», иначе могут возникнуть совсем неожиданные проблемы.

Внимательно следите за ошибками

Уже много лет пользователи, при проблемах с отображением страницы нажимают кнопку «Назад» в браузере. В современных Ajax-приложениях это тоже важно. Ведь обычной gif картинки недостаточно для определения состояния запроса.

При возникновении ошибки отправляйте себе нотисы, для их анализа и ликвидации ошибок и проблем. А пользователю выведите что-нибудь дружелюбное после определённого времени. Стоит также признать, что современные JS/Ajax фреймворки не умеют нормально работать с тайм-аутом.

Старая сказка о безопасности

На самом деле Ajax-приложение так же безопасно, как и традиционное. Заголовки одинаковы, средства и способы коммуникации — тоже одинаковы. Хотя стоит отдельной строкой уделить внимание некоторым вещам, ведь классические ошибки могут спокойны стать наследством Ajax-приложения.

Это XSS — сам по себе он не является новинкой, просто с распространением Ajax-приложений начал набирать популярность. Как минимум фильтруйте любой HTML код, приходящий от пользователя. Так же проверяйте HTTP Referer — ибо это важно.

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

Вместо «Спасибо за внимание»

Этот текст является вольным переводом с правками и дополнениями статьи 10 things IT needs to know about Ajax.

Ajax как читается

1 ajax

2 AJAX

3 Ajax

4 Ajax

5 Ajax

6 ajax

7 AJAX

8 Ajax

9 Ajax

10 ajax

11 Ajax

12 Ajax

13 Ajax

14 ajax

15 Ajax scrub robin

16 Ajax scrub robin

17 Ajax furnace

18 Ajax furnace

19 Ajax furnace

20 Ajax process

См. также в других словарях:

AJAX — [ˈædʒæks] ist ein Apronym für die Wortfolge „Asynchronous JavaScript and XML“. Es bezeichnet ein Konzept der asynchronen Datenübertragung zwischen einem Server und dem Browser, das es ermöglicht, innerhalb einer HTML Seite eine HTTP Anfrage… … Deutsch Wikipedia

AJaX — [ˈædʒæks] ist ein Apronym für die Wortfolge „Asynchronous JavaScript and XML“. Es bezeichnet ein Konzept der asynchronen Datenübertragung zwischen einem Server und dem Browser, das es ermöglicht, innerhalb einer HTML Seite eine HTTP Anfrage… … Deutsch Wikipedia

Ajax — may refer to: Mythology * Ajax (mythology), son of Telamon and a hero in the Trojan war, also known as Ajax the Great * Ajax the Lesser, son of Oileus and also a hero in the Trojan warPeople*Ajax (missionary), Arian missionary who converted the… … Wikipedia

Ajax — ist der Name mehrerer Personen: Ajax der Große, Sohn des Königs Telamon von Salamis, einer der Haupthelden des Trojanischen Kriegs Ajax der Kleine, König von Lokris, der „Oileus Sohn“ Ajax (Missionar), ein westgotischer Missionar, der um 464 n.… … Deutsch Wikipedia

ajax — héros grec qui devint fou parce qu on avait donné à Ulysse les armes d Achille mort; croyant tuer des ennemis, il massacra le bétail des Grecs et se suicida. ⇒AJAX, subst. masc. A. Guerrier intrépide et impétueux : • Tout ce qui m est permis, c… … Encyclopédie Universelle

AJAX — technologijos statusas T sritis dirbtinis intelektas apibrėžtis Rinkinys saityno technologijų, kuriomis interaktyvaus tinklalapio atskiros dalys atnaujinamos asinchroniškai, neperkraunant viso tinklalapio. Toks atnaujinimas vykdomas įvykus… … Lithuanian dictionary (lietuvių žodynas)

Ajax — technologijos statusas T sritis dirbtinis intelektas apibrėžtis Rinkinys saityno technologijų, kuriomis interaktyvaus tinklalapio atskiros dalys atnaujinamos asinchroniškai, neperkraunant viso tinklalapio. Toks atnaujinimas vykdomas įvykus… … Lithuanian dictionary (lietuvių žodynas)

Ajax — Ajax. Unter diesem Namen sind zwei trojanische Helden bekannt. Ajax, der Lokrer, ein Sohn des Oileus, erschien mit 40 Schiffen vor Troja. Nach der Einnahme der Stadt entweihte er im Tempel der Minerva die Priesterin Kassandra. Zur Strafe für… … Damen Conversations Lexikon

Ajax — ● AJAX, hace referencia a una tecnología que hace uso de JavaScript asíncrono + XML para el desarrollo web. ● El Ajax de Amsterdam es un equipo de fútbol holandés. ● Ajax también hace referencia a una marca de diversos productos relacionados con… … Enciclopedia Universal

Ajax — name of two Greek heroes in the Trojan War (Great Ajax, son of Telamon, and Little Ajax, son of Oileus), Latin, from Gk. Aias, perhaps originally the name of an earth god, from aia earth. The Elizabethans punned on the name as a jakes a privy … Etymology dictionary

Ajax — [ā′jaks΄] n. [L < Gr Aias] Gr. Myth. 1. a strong, brave Greek warrior in the Trojan War who kills himself when Achilles armor is given to Odysseus: called Ajax Telamon [tel′ə män΄] 2. one of the swiftest runners among the Greek warriors in the … English World dictionary

Ajax как читается

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

История технологии

Термин AJAX впервые использовал Джесси Джеймс Гарретт (Jesse James Garrett), это было 18.02.2005, в статье «AJAX: новый подход к web-приложениям». Автор был одним из основателей и по совместительству главой компании Adaptive Path. В статье Гарретт рассказал про принцип разработки web-приложений, который на тот момент применяли в Gmail и Google Maps. На тот момент это было фундаментальным прорывом. Тогда Джесси обратил внимание на новый тренд и рассказал, что такое AJAX. Все это вывело разработку web-приложений на качественно новый уровень. Сейчас можно наблюдать результаты «фонового» обмена данными сервера и браузера.

Механизм работы страницы легко дает понять, что это AJAX-сайт. Ранее пользователю для подтверждения действий нужно было кликать по кнопкам и переходить по ссылкам. Сейчас же страницы сами реагируют на внесение данных нужным образом. В итоге время, затраченное на работу с сайтом, сильно сокращается. Пользователь общается с быстрым web-приложением. Для корректной работы достаточно иметь подключение к Сети и браузер, поддерживающий JavaScript.

Как работает AJAX

Наглядно представим основной принцип работы AJAX.

Принцип работы AJAX

В работе технологии можно выделить четыре основных этапа.

  1. Вызов AJAX. Обычно для этого используется какая-то кнопка, предлагающая получить большее количество информации.
  2. Отправка на сервер запроса и всевозможной информации. Так, может потребоваться загрузка определенных сведений из базы данных, какого-то файла и пр.
  3. Получение сервером ответа от базы данных и отправка информации в браузер.
  4. Получение JavaScript ответа, его расшифровка и демонстрация пользователю.

Чтобы осуществлять обмен данными на странице, создается XMLHttpRequest – это объект, который выполняет роль посредника между сервером и браузером. Запросы бывают следующих типов:

  • GET – обращение производится к документу на сервере, аргументом выступает URL. Чтобы предотвратить прерывание запроса, можно использовать функцию JavaScript Escape;
  • POST – применяется для больших объемов данных. Поступающие в серверную часть данные обрабатываются, и на их основе создается новая информация, которая направляется пользователю.

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

Ответом сервера выступает обычный текст, XML/JSON. В первом случае результат сразу отображается на странице. При получении XML-документа он обычно конвертируется в HTML и выводится на монитор. При получении ответа в формате JSON, пользователь должен использовать полученный код. Потом будет выполняться формирование объекта JavaScript.

Преимущества AJAX

Снижение нагрузки на сервер

Благодаря грамотному использованию AJAX можно многократно снизить нагрузку на сервер. Например, можно использовать специальный шаблон и создавать постоянные элементы сайта: меню, логотип и пр. Обновление всей страницы для удовлетворения запросов не требуется. Например, пользователь решает проголосовать на сайте, он выбирает нужный вариант и кликает по этой кнопке. Сразу после этого информация отправляется на сервер, а затем приходит ответ. За все это время страница не обновляется.

Ускорение работы сервиса

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

Снижение количества трафика

Количество данных в процессе работы с web-приложениями существенно снижается. Это происходит в результате того, что загружать всю страницу целиком не нужно, достаточно получить набор данных или измененную часть. Потом JavaScript меняет содержимое страницы.

Широкий спектр возможностей

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

Недостатки AJAX

Снижение степени безопасности

Значительный недостаток AJAX – пробелы в безопасности. Это связано с тем, что каждый пользователь может легко посмотреть исходный код в браузере.

Невозможность интеграции с инструментами браузера

В процессе динамического формирования страниц браузер не может отображать их в истории посещения. Именно поэтому кнопка «Назад» не может переместиться на предыдущий этап работы. Данная проблема может решиться за счет использования специальных скриптов. Кроме всего вышеперечисленного, отсутствует возможность установки закладки на нужный материал.

Необходимость держать JavaScript подключенным

Страницы web-сайтов, которые были созданы по технологии AJAX, не могут корректно работать при отключенном JavaScript. На них не получится разместить закладки.

Проблемы в индексации контента

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

Невозможность установки числа обращений

Механизм динамической загрузки контента существенно искажает статистические данные. Это связано с тем, что при перемещении пользователя по разным страницам их перезагрузка не выполняется, поэтому счетчик не регистрирует переходы. Из-за такого искусственного занижения количества просмотров крупные проекты теряют часть своего дохода.

Индексирование AJAX поисковиками

Как говорилось ранее, страницы на AJAX недостаточно хорошо индексируются. Поэтому рекомендуется организовать получение динамически подгружаемых данных по ссылкам. Данное решение позволит обеспечить правильное отображение web-сайтов у пользователей, не использующих по каким-то причинам JavaScript. В процессе настройки работы ресурсов с динамическим контентом нужно обязательно проверить, что: роботы верно определяют содержание страниц; могут распознавать правила навигации по сайту и используют их в процессе организации полученных данных.

Оптимизация сайта

Для минимизации негативного влияния AJAX на поисковое продвижение можно провести оптимизацию сайта.

  1. Необходимо переписать ссылки в URL. После каждой # необходимо поставить восклицательный знак.

Например, ссылку http://www.site2site.ru/#uslugi следует преобразовать в http://www. site2site.ru/#!uslugi.

  1. Для всех страниц AJAX версию HTML нужно сделать доступной по конкретному адресу. Для этого установленное сочетание «#!» следует заменить на «?_escaped_fragment_=».
  1. На странице AJAX следует проставить тег: <meta name=”fragment” content=”!”>.
  2. Карта сайта в формате .xml ускорит индексацию страниц.
  3. Сравнение версии AJAX с сохраненной копией после индексации. Благодаря этому можно увидеть, все ли страницы были проиндексированы роботами.

Влияние AJAX на ранжирование

Сайты с использованием технологии AJAX могут иметь худшую репутацию у поисковиков (по сравнению с аналогичными ресурсами без ее использования). К основным причинам относят следующие.

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

Все это можно легко избежать при использовании AJAX по целевому назначению – для динамического взаимодействия с сервером. Страницы могут кэшироваться и отображаться как статические. Для вызова AJAX лучше пользоваться классическим якорем, а не «onClick».

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

Добавить комментарий

Ваш адрес email не будет опубликован.