Вот есть SOAP, есть REST. Почему то везде сделан акцент на человекочитаемость. Но зачем? Ведь без утилит ни XML ни JSON все равно читать не удобно. А с утилитами можно читать все что угодно.
Какой есть бинарный протокол, где бы байты кодировались без использования Base64 и пр. костылей? Почему они не популярны?
Здравствуйте, Shmj, Вы писали:
S>Какой есть бинарный протокол, где бы байты кодировались без использования Base64 и пр. костылей? Почему они не популярны?
Есть ASN.1
Непопулярен потому что как и со всеми сложными сущностями в IT, его реализации либо кривые, либо платные.
Здравствуйте, Слава, Вы писали:
С>Есть ASN.1 С>Непопулярен потому что как и со всеми сложными сущностями в IT, его реализации либо кривые, либо платные.
В стандартной библиотеке языка Go есть реализация разумного подмножества ASN.1. Достаточного для реализации TLS (SSL). С очень простым и удобным в использовании интерфейсом.
Но вообще, ASN.1 — это язык, на котором разговаривают черти в аду. Нормальный человек с ним по своей воле не свяжется.
Здравствуйте, Shmj, Вы писали:
S>Какой есть бинарный протокол, где бы байты кодировались без использования Base64 и пр. костылей? Почему они не популярны?
Вообще, если транспортом выступает HTTP, то на издержки формата сериализации данных можно несколько и наплевать, если данных немного. Все равно, сделай там идеальный во всех отношениях протокол, издержки HTTP всю выгоду сожрут. А если транспорт какой-то другой, то там обычно и кодирование данных какое-то другое.
S>Вот есть SOAP, есть REST. Почему то везде сделан акцент на человекочитаемость. Но зачем? Ведь без утилит ни XML ни JSON все равно читать не удобно.
Неудобно тебе или неудобно всем?
И что насчет удобства редактирования json/xml данных и бинарных форматов?
Здравствуйте, Pzz, Вы писали:
Pzz>В стандартной библиотеке языка Go есть реализация разумного подмножества ASN.1. Достаточного для реализации TLS (SSL). С очень простым и удобным в использовании интерфейсом. Pzz>реализация разумного подмножества
Для Си вроде бы существует (не столь давно) полная реализация ASN.1, написанная Лео Валкиным. Почему её не запихнули в Golang — загадка.
Здравствуйте, Слава, Вы писали:
С>Для Си вроде бы существует (не столь давно) полная реализация ASN.1, написанная Лео Валкиным. Почему её не запихнули в Golang — загадка.
Валкин написал компилятор ASN.1 в Си. А в Go — библиотека, основанная на рефлексии. На языке ASN.1 там писать не приходится, описываешь структуру на Go, и ее можно сразу в DER сериализовать, и наоборот.
Здравствуйте, Pzz, Вы писали:
Pzz>Вообще, если транспортом выступает HTTP, то на издержки формата сериализации данных можно несколько и наплевать, если данных немного. Все равно, сделай там идеальный во всех отношениях протокол, издержки HTTP всю выгоду сожрут. А если транспорт какой-то другой, то там обычно и кодирование данных какое-то другое.
Здравствуйте, Pzz, Вы писали:
Pzz>Вообще, если транспортом выступает HTTP, то на издержки формата сериализации данных можно несколько и наплевать, если данных немного. Все равно, сделай там идеальный во всех отношениях протокол, издержки HTTP всю выгоду сожрут. А если транспорт какой-то другой, то там обычно и кодирование данных какое-то другое.
Вообще если данный много (в мегабайтах) то на издержки HTTP (а это заголовки по сути) можно наплевать.
Здравствуйте, Shmj, Вы писали:
S>Вот есть SOAP, есть REST. Почему то везде сделан акцент на человекочитаемость. Но зачем? Ведь без утилит ни XML ни JSON все равно читать не удобно.
Есть "неудобно", а есть "принципиально невозможно". Думай.
Здравствуйте, Kolesiki, Вы писали:
K>Есть "неудобно", а есть "принципиально невозможно". Думай.
Это в каком случае принципиально не возможно? Во всех анализаторах трафика есть HEX-режим. Скопировал в утилиту и она все превратила в читаемый формат.
Все равно Xml/JSON вы копируете в редактор -- какая разница?
Здравствуйте, Shmj, Вы писали:
S>Вот есть SOAP, есть REST. Почему то везде сделан акцент на человекочитаемость. Но зачем? Ведь без утилит ни XML ни JSON все равно читать не удобно. А с утилитами можно читать все что угодно.
S>Какой есть бинарный протокол, где бы байты кодировались без использования Base64 и пр. костылей? Почему они не популярны?