3 ms·
All major internet protocols to date has been plain text, which for almost anyone has been easy to learn, easy to inspect and diagnose without specialised tools
by josteink 11y ago
All major internet protocols to date has been plain text, which for almost anyone has been easy to learn, easy to inspect and diagnose without specialised tools and easy to extend without creating compatibility concerns because of it. We've already seen SPDY be incompatible between its few versions.
Binary ruins that fine tradition for the promise of 0.1% better performance. And I think that's a terrible trade.
- X-Cubed 11y agoTLS is binary
- zimpenfish 11y agoBut you can access the inner protocol by using `openssl s_client -connect host:port` as a TLS/SSL wrapper, can't you? (Edit: I realise you can likely also access/debug HTTP/2.0 streams with a CLI tool - I am currently ambivalent about text vs binary streams.)
- Matthias247 11y agoYes, you can also access/debug HTTP/2 content with curl or nghttp2. And the content of the request/response body streams is binary (in the sense that there is no predefined encoding) - just like in HTTP/1.1. That there is also a binary framing layer underneath should not care you from CLI user or application builders perspective. Just like you don't care in what number of IP frames your request was transmitted.
- Matthias247 11y agoas are Ethernet, IP, TCP, and everything else on the lower layers. I would say even say most networking protocols are binary. Some very high level protocols are not, but in my opinion working with binary ones in applications and libraries is much easier (no need to read an arbitrary amount of bytes and loop through all of them just to find a termination sequence, etc.)
- profmonocle 11y agoAs are DNS, NTP, SSH, and DHCP. That's just off the top of my head.