Мое понимание HTTP-опроса, длинного опроса, HTTP-потоковой передачи и веб-сокетов

Я прочитал много постов на SO и в Интернете относительно ключевых слов в заголовке моего вопроса и многому научился у них. Некоторые из вопросов, которые я прочитал, связаны с конкретными проблемами реализации, тогда как другие сосредоточены на общих понятиях. Я просто хочу убедиться, что я понял все концепции и причины, по которым технология X была изобретена над технологией Y и так далее. Итак, здесь идет:

Http Polling: В основном AJAX, используя XmlHttpRequest.

Http Long Polling: AJAX, но сервер удерживает ответ, если только у сервера нет обновления, как только сервер получает обновление, он отправляет его, а затем клиент может отправить другой запрос. Недостатком являются дополнительные данные заголовка, которые необходимо отправлять взад и вперед, вызывая дополнительные издержки.

Http Streaming: Аналогично длинному опросу, но сервер отвечает заголовком с "Кодировка перевода: чанки " и, следовательно, нам не нужно инициировать новый запрос каждый раз, когда сервер отправляет некоторые данные (и, следовательно, сохранять дополнительные заголовки). Недостатком здесь является то, что мы должныПонимаю" и выяснить структуру данных, чтобы различать несколько фрагментов, отправленных сервером.

Java-апплет, Flash, Silverlight: Они предоставляют возможность подключения к сокет-серверам через tcp / ip, но поскольку они являются плагинами, разработчики неЯ не хочу зависеть от них.

WebSockets: это новый API, который пытается устранить недостатки вышеуказанных методов следующим образом:

Единственное преимущество WebSockets над плагинами, такими как Java Applets, Flash или Silverlight, заключается в том, что WebSockets изначально встроены в браузеры и не зависят от плагинов.Единственное преимущество WebSockets перед потоковой передачей http - это то, что вы ненужно приложить усилия, чтобыПонимаю" и проанализировать полученные данные.Единственное преимущество WebSockets перед Long Polling - это устранение лишних размеров заголовков и открытие и закрытие сокетного соединения по запросу.

Есть ли другие существенные различия, которые я пропускаю? Я'Прошу прощения, если я переспрашиваю или объединяю многие вопросы, уже относящиеся к SO, в один вопрос, но я просто хочу в полной мере разобраться во всей информации, касающейся этих концепций в SO и в Интернете.

Спасибо!

Ответы на вопрос(4)

Ваш ответ на вопрос