AJAX – новый подход к тому, как браузер должен общаться с сервером. Впервые этот подход в полном объеме озвучил в 2005 году Джесси Гаррет, и с тех пор ведутся постоянные споры о том, является ли AJAX новой технологией передачи данных или просто оригинальным подходом. В пользу второго утверждения говорит то, что для использования AJAX не нужно устанавливать на компьютер специфический софт, а в пользу первого – применение нового подхода позволяет в отдельных случаях резко ускорить работу с серверами.
Чтобы понять это, нужно вспомнить, как общаются браузер с сервером. Если в окне браузера находится страница со ссылкой, и вы нажимаете ее, то браузер передает URL ссылки на сервер. В зависимости от результата, сервер возвращает готовую страницу целиком или шлет сообщение об ошибке. Но дело в том, что страница может представлять собой огромный набор материала, обновление которого полностью нежелательно: расходуется трафик, уходит время и т.д. AJAX предлагает другой подход: браузер передает данные не напрямую серверу, а клиентскому скрипту браузера, и тот уже в фоновом режиме обновляет только ту часть информации, которая действительно нуждается в замене. Кроме того, скрипт может общаться с сервером даже тогда, когда пользователь не проявляет активность. Выгода здесь очевидна: скорость реакции повышается, расход трафика падает.
Общение браузера с сервером строится на целом ряде технологий, которые обязательно включают в себя скрипты JavaScript, особенности стандарта DHTML для изменения страниц, использование формата XML для передачи данных. В целом, эти технологии позволяют создавать в отображаемом документе динамические поля и фреймы посредством вновь внедряемых скриптов. Важно понять, что AJAX не существует сам по себе – его использует каждое веб-приложение в расчете “на себя”, если такая возможность требуется. Популярность AJAX значительно увеличилась с выходом многих продуктов от Google, активно использующих эту технологию. Одновременно нужно иметь в виду, что у технологии есть и недостатки, связанные, по большей части, с невозможностью правильного отображения счетчиков динамических обновляемых страниц, с тем, что они не индексируются, с них невозможно вернуться кнопкой «назад». При этом требуется обязательное включение JavaScript в браузере, что повышает риск подхватить с сайта какую-нибудь заразу. Но достоинства перевешивают недостатки, о чем говорит массовое появление приложений, поддерживающих AJAX.
Что-то как-то немного запутанно написано об Ajax... А на самом деле - это асинхронная передача данных между клиентом и сервером. На клиенте с помощью Javascript создается объект запроса, затем создаются подключение к серверу и функции, которые решают что с полученным от сервера ответом делать. А популярность Ajax в том, что можно создавать практически десктопные приложения, поскольку основная часть работы (запроса, обработки ответа и отображения) выполняется на клиенте, тем самым не перегружая сервер.