Как GMail Chat может обрабатывать запросы AJAX без взаимодействия с клиентом?

Все HTTP-ответы требуют, чтобы клиент инициировал их, даже те, которые были сделаны с использованием AJAX. Но функция чата GMail может получать сообщения от других пользователей, даже когда я просто сижу в своем удобном компьютерном кресле, но не взаимодействую с браузером. Как они это сделали?

Ответ 1

Эта технология известна как "комета", но также как "push-сервер", "обратный аякс" и т.д.

Это о том, как переносить данные с сервера на браузер, поддерживая http-соединение. Найдите дополнительную информацию об этом в статье в википедии (английская версия).

Также здесь довольно хорошая презентация с Джо Уокером из DWR, где он рассказывает о кометах.

Ответ 2

Как вы по праву отметили, HTTP требует, чтобы данные были "вытащены" клиентом. Gmail все еще может "вытащить" данные с сервера, используя таймер для запуска операции HTTP вместо того, чтобы требовать от пользователя щелчка. Таким образом, это может показаться автоматическим, но оно все еще инициировано клиентом.