Как Google gmail, docs и т. д. получает свое push-уведомление об изменениях?
Я бы предположил, что на стороне клиента есть AJAX-запрос, который запрашивает обновления, но это удивительно жесткий ответ. Может ли кто-то лучше понять какие-то трюки, которые они могут выполнять в протоколе?
1 ответ
Решение
Два метода, обычно используемые в этом случае
Опрос: код Javascript опрашивает сервер каждые (например) 10 секунд, чтобы увидеть, есть ли свежие новости для показа
Постоянное соединение: запрос XMLHttpRequest выполняется клиентом, и сервер сохраняет соединение до тех пор, пока не появятся какие-либо новости (в этом случае отправляет данные клиенту) или по достижении заданного времени ожидания - тогда клиент пытается снова и так на.
Google, вероятно, использует второй вариант, который отвечает и обновляется быстрее.