Описание тега http-streaming
Обычно HTTP-запросы используются клиентом для получения данных с сервера, который отвечает немедленно. Чтобы обнаружить данные, как только они станут доступны, с помощью запросов извлечения, клиент должен опросить сервер, что приводит к нагрузке на сервер и высокой задержке, если данные публикуются между запросами опроса. Усовершенствованием периодического опроса является использование длинных механизмов опроса или Comet, в которых сервер сохраняет HTTP-запрос открытым до тех пор, пока не появятся данные перед его отправкой и закрытием соединения. Потоковая передача HTTP продвигает этот подход еще на один шаг, сохраняя соединение открытым после отправки данных, что позволяет отправлять больше данных позже. Как для Comet, так и для HTTP-потоковой передачи требуются веб-серверы, которые могут поддерживать множество одновременных HTTP-запросов, поскольку все клиенты могут быть постоянно подключены.
Потоковая передача HTTP может быть реализована в HTTP 1.0, не возвращая заголовок Content-Length, который сигнализирует о том, что клиент должен держать соединение открытым до тех пор, пока оно не будет закрыто сервером, а не после того, как будет прочитано определенное количество байтов. HTTP 1.1 обеспечивает поддержку чанкованного кодирования, которое также можно использовать для реализации потоковой передачи HTTP - подход, используемый API потоковой передачи Twitter.
Поскольку запросы потоковой передачи HTTP могут оставаться открытыми неопределенно долго сервером, часто желательно, чтобы клиенты имели возможность периодически отключаться, чтобы отбрасывать старые данные перед повторным подключением к потоку путем создания нового запроса.
Потоковая передача HTTP только позволяет однонаправленную связь от сервера к клиенту и поэтому часто комбинируется с традиционным веб-API для извлечения для обеспечения двунаправленной связи между клиентом и сервером. Если между клиентом и сервером требуется полнодуплексная связь, лучше всего выбрать новые стандарты веб-сокетов.
Для получения дополнительной информации см.: http://softwareas.com/http-streaming-an-alternative-to-polling-the-server http://en.wikipedia.org/wiki/Push_technology