Все HTTP-ответы требуют, чтобы клиент инициировал их, даже те, которые были сделаны с использованием AJAX. Но функция чата GMail может получать сообщения от других пользователей, даже когда я просто сижу в своем удобном компьютерном кресле, но не взаимодействую с браузером. Как они это сделали?
Как GMail Chat может обрабатывать запросы AJAX без взаимодействия с клиентом?
Ответ 1
Эта технология известна как "комета", но также как "push-сервер", "обратный аякс" и т.д.
Это о том, как переносить данные с сервера на браузер, поддерживая http-соединение. Найдите дополнительную информацию об этом в статье в википедии (английская версия).
Также здесь довольно хорошая презентация с Джо Уокером из DWR, где он рассказывает о кометах.
Ответ 2
Как вы по праву отметили, HTTP требует, чтобы данные были "вытащены" клиентом. Gmail все еще может "вытащить" данные с сервера, используя таймер для запуска операции HTTP вместо того, чтобы требовать от пользователя щелчка. Таким образом, это может показаться автоматическим, но оно все еще инициировано клиентом.
Ответ 3
Копы Yep верны. Приложения Google Web Toolkit Райана Дьюсбери объясняют, как создать приложение Instant Messenger на основе комет в главе 9.