Как Google gmail, docs и т. д. получает свое push-уведомление об изменениях?

Я бы предположил, что на стороне клиента есть AJAX-запрос, который запрашивает обновления, но это удивительно жесткий ответ. Может ли кто-то лучше понять какие-то трюки, которые они могут выполнять в протоколе?

1 ответ

Решение

Два метода, обычно используемые в этом случае

  • Опрос: код Javascript опрашивает сервер каждые (например) 10 секунд, чтобы увидеть, есть ли свежие новости для показа

  • Постоянное соединение: запрос XMLHttpRequest выполняется клиентом, и сервер сохраняет соединение до тех пор, пока не появятся какие-либо новости (в этом случае отправляет данные клиенту) или по достижении заданного времени ожидания - тогда клиент пытается снова и так на.

Google, вероятно, использует второй вариант, который отвечает и обновляется быстрее.

Другие вопросы по тегам