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

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

Наличие на сервере того или иного языка (PHP, Perl, etc.) позволяло формировать содержимое страницы на лету, но сути это не меняло: был запрос на страницу, был ответ – страница.

AJAX – более предметный подход к отношениям клиента и сервера. Первый выбирает домен (по сути это уникальный адрес — URL) на котором находится сайт и может запросить как страницу целиком, так и просто данные. Что это будет за запрос и какие на него будут получены данные зависит от программы, например на JavaScript, запущенной в браузере и скрипта, например на PHP, запускаемого на сервере. Обычная практика: браузер запускает обработчик события, который инициирует процесс пуска скрипта на сервере. Скрипт на сервере не обязательно должен завершиться и выдать ответ: он может выдать ответ и продолжить работу, он может продолжать работать также в случае, если данный посетитель ушел с сайта.

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

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