Comments 8
Да где ж он, этот бинарный протокол?
Ну вообще, подразумевается, что вместо использования передачи данных через JSON или аналогичных текстовых форматов, мы используем свои бинарные протоколы. Понятно, что я здесь просто описал просто введение, нежели полноценный протокол сообщений, который включает в себя еще как правило управление очередями и пирами, соединениями, нормальную систему типов данных. Как вариант можно посмотреть как это построено на gRPC, хотя там скорее сериализация, чем чистые протоколы.
Итак, заголовок статьи начинается с «бинарные протоколы...», а в итоге в статье ни их названий, ни разновидностей, ни хитростей, тонкостей и секретов, ни даже приложения, которое бы реализовало пару видов реальных бинарных протоколов. Зато АИшный выхлоп с кодом уровня «пример для детей из учебника по JS» вполне себе присутствует. Такое надо минусовать, но наверно сейчас набегут «вау спасибо как удивительно и познавательно теперь мы всё знаем о бинарных протоколах» и люто заплюсуют. Хоть одной строчкой бы пару реальных названий - увы...
JWT
Давайте изобретём максимально эффективный бинарный протокол, а для авторизации завернём JSON в Base64 👍
Я конечно не уверен, но так ли сильно в действительности просто бинарные ( байтовые ) протоколы создают безопасность? Если злоумышленник знает кодировку ( у вас utf-8, да и почти у всего интернета она ) и язык ( ваш сайт на русском ) , то перевести байты в текст дело долей секунд мне кажется. Без шифрования, как я думаю, крашится любым небольшим фреймворком, особенно при условии, что сам протокол известен, а он уже ... известен. Если был бы хотя бы небольшой алгоритм перемешивания байтов, то было бы уже что-то, как мне кажется. Все правильно?
В то же время вы задаете верное направление, да, возможно классические JSON-данные не так уж хорошо защищены
Бинарные протоколы передачи данных. Разбираемся на примере NodeJS приложения