Есть ли преимущества передачи бинарных данных через websocket?
На сервере стоит Node.js, на клиенте сайт работает на React. При переходе клиентом на разные страницы сайта текстовое содержимое страниц передается через websocket соединение в json формате.
Периодически сталкиваюсь со статьями типа "стали использовать бинарные данные и увеличилась скорость работы приложения", но почему и как это сработало не понимаю.
Есть ли смысл использовать в передаваемых данных не обычный текст, а бинарные данные?
В чем их такое преимущество?
Разве может стать объем передаваемых данных меньше? (вроде как бинарные данные имеют больший объем)
Может увеличится скорость обработки этих данных? (их ведь все равно нужно парсить)
Есть ли какие-то недостатки использования бинарных данных? (кроме того, что их через браузерную панель разработчика сложнее прочитать)
Данные в любом случае передаются в бинарном формате. Только в одному случае данные переводятся в текст json, потом в base64 бинарный, а потом в бинарный для передачи, а в другом текст json передается как есть, сразу его бинарные вид. Значит на сервере и клиенте отпадает необходимость в дополнительном кодировании/декодировании данных. Возможно даже не придется переводить объекты в json текст, а передавать их как есть.