Есть много блогов и обсуждений о websocket и HTTP, и многие разработчики и сайты сильно защищают веб-сайты, но я все еще не могу понять, почему.
например (аргументы любителей 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 encoding - 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 с подключением с длительным подключением все еще существуют.
Вопрос:
- Почему протокол websockets лучше?
- Почему это было реализовано вместо обновления протокола HTTP?