Протокол WebSockets против HTTP
Существует множество блогов и дискуссий о websocket и HTTP, и многие разработчики и сайты настоятельно рекомендуют websocket, но я до сих пор не могу понять, почему.
например (аргументы любителей websocket):
HTML5 Web Sockets представляет собой следующую эволюцию веб-коммуникаций -полнодуплексный, двунаправленный канал связи, который работает через один сокет через Интернет. (http://www.websocket.org/quantum.html)
HTTP поддерживает потоковую передачу: потоковую передачу тела запроса (вы используете его при загрузке больших файлов) и потоковую передачу тела ответа.
Во время установления соединения с WebSocket клиент и сервер обмениваются данными на кадр, каждый по 2 байта, по сравнению с 8 килобайтами заголовка http при непрерывном опросе.
Почему эти 2 байта не включают tcp и в служебные сигналы протоколов tcp?
GET /about.html HTTP/1.1
Host: example.org
Это заголовок http ~ 48 байт.
http chunked кодировка -http://ru.wikipedia.org/wiki/Chunked_transfer_encoding:
23
This is the data in the first chunk
1A
and this is the second one
3
con
8
sequence
0
Таким образом, накладные расходы на каждый кусок невелики.Кроме того, оба протокола работают по протоколу TCP, поэтому все проблемы с протоколом TCP для долговременных подключений все еще существуют.
Вопрос:
Почему протокол веб-сокетов лучше?Почему это было реализовано вместо обновления протокола HTTP?