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


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

3 58

3 ответа:

эта технология известна как" comet", но также как" Server push"," reverse ajax " и т. д.

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

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

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

да кометы правильно. Google Web Toolkit Applications by Ryan Dewsbury объясняет, как создать приложение мгновенного обмена сообщениями на основе комет в главе 9.