The W3C, of course, has promulgated many standards. Everyone knows about http and html. Many have at least heard of XHTML - which is HTML as an XML serialization. What few seem to know about, however, is EXI - the Efficient XML Interchange format. The W3C spec page can be found at: https://www.w3.org/TR/exi EXI is a W3C standard for taking text XML documents, and encoding them to a very compact (plus optional compression to make it even more compact) binary format. This is, in some ways, sort of similar to the Content-Encoding compression algorithms supported by browsers. But, unlike, say, gzip'ed compressed html or xml data, which must be de-encoded back to text and then passed through an XML text parser, EXI binary data can be directly parsed using implementations of the standard XML parsing APIs (such as SAX, DOM, and StAX, and XmlPull) that read and write EXI. It can also be converted from EXI back to text, if needed (for example, if a user wanted to view source for a page delivered as exi, the user agent could convert back to text to display to the user). The end result is that large amounts of XML data can be represented very compactly, and in addition, can be parsed and processed very rapidly and efficiently. This could provide significant bandwidth and performance improvement for websites that transfer a large amount of xhtml data - for example, "infinite scroll" websites such as some social media and news sites, where as the user scrolls, very large amounts of html may be incrementally delivered to the user agent. Currently, I don't think anyone has created a formal proposal for how serving XHTML as EXI would be accomplished. Of course, to be the most useful, this would need to be part of the relevant standards and supported across all standards compliant browsers. I'm not by any means an expert on how this would best be done, but it occurred to me that either a Content-Encoding: exi could be promulgated as a standard, or perhaps mime type: application/xhtml+exi ?
... View more