Длинные запросы (Long Polling)
Длинные запросы являются альтернативой частым запросам, когда требуется максимально быстро получать от сервера новые данные. Реализуется простым XMLHttpRequest.
Со стороны клиента открывается обычное XHR-соединение. После получения ответа тут же открывается следующее:
function subscribe(url) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState != 4) return;
if (this.status == 200) {
onMessage(this.responseText);
} else {
onError(this);
}
subscribe(url);
}
xhr.open("GET", url, true);
xhr.send();
}
Сервер необходимо настроить таким образом, чтобы он не закрывал соединение.