On Wed Jun 7 15:37:28 2006, Michael Thomas wrote:
I guess that what part of what this devolves into is who we're
writing these
protocols/schemes for: machines or people? That, I think, is a huge
false
dilemma. We clearly are writing things for _both_ (the executors
and the
maintainers) ; the only question in my mind is whether an easy for
human
to maintain encoding is too inefficient on the wire for its task.
In some
cases it clearly is, but those cases are becoming the outliers --
especially
at app layer -- as the march of memory and bandwidth plods on.
I think it's worth noting that nobody is preventing you from using
XML over a compressed channel, which tends to increase XML's
efficiency rather sharply.
Compression also tends to make you look differently at protocol
issues, because the repetitive, inefficient, protocol forms often
compress equally well to, or even better than, a "better" structure -
and they're also usually easier to handle.
Wire efficiency, for the most part, needs to take place by avoiding
the transmission of information entirely, rather than trying to
second-guess the compression.
As a rule, if you're moving strings around, or eliminating
duplicates, within a single "send" of your protocol, you're probably
wasting your time. In general, you want to be avoiding sending
information at all.
The only reason you have for worrying about representation for wire
efficiency is if resource shortage prevents you from compression
entirely - bear in mind this implies that resource shortage has
already prevented you from encryption - generally a bad thing.
As an example, IMAP and ACAP streams compress by around 70% on my
client - and that's trying to be bandwidth efficient in its protocol
usage. I've seen figures of 85% talked about quite seriously, too.
So in answer to the original question, I'd say that the current best
practise for data encoding has to be RFC1952, Deflate - beyond that,
it really doesn't matter all that much.
As an aside, whilst XMPP does provide a "pure" XML protocol, most
protocols use XML as a payload, and use other forms to exchange
protocol messages.
Dave.
--
Dave Cridland - mailto:dave@xxxxxxxxxxxx - xmpp:dwd@xxxxxxxxxx
- acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
- http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade
_______________________________________________
Ietf@xxxxxxxx
https://www1.ietf.org/mailman/listinfo/ietf