- From: Mark Nottingham <mnot@mnot.net>
- Date: Wed, 15 Jul 2009 16:40:46 +1000
- To: Jim Gettys <jg@freedesktop.org>
- Cc: Julian Reschke <julian.reschke@gmx.de>, HTTP Working Group <ietf-http-wg@w3.org>
This reminds me very much of the long-running discussions (and that's being polite) of Binary XML in the W3C. http://www.w3.org/XML/Binary/ http://www.xml.com/pub/a/2003/08/13/deviant.html Making an interchangeable binary representation of a flexible text- based format that beats gzip on size with full fidelity is a high bar. "Inspired by HTTP" may indeed be a more reasonable goal. Cheers, On 14/07/2009, at 8:48 PM, Jim Gettys wrote: > Those of you with memory of my role in HTTP may find the following > comments surprising, but bear with me. > > Doing something like this has to pass test, in my mind: > o that it be shown to be significantly more compact than HTTP + > deflate style compression (probably with a pre-defined dictionary, > and canonicalization of cases of strings to minimize the size of the > dictionary). Ad-hoc binary compression systems are often/commonly > not less efficient than what gzip style compressors can do. (to > remind the audience, deflate is gzip without some preamble > information; and IIRC, it can be used with a predefined dictionary, > so you don't have to transmit said dictionary first when you know > the material being compressed). > o that it (by such actions) remain fully compatible with HTTP. > > This is much easier than having yet another HTTP parser lying around > which isn't quite HTTP, with ad-hoc, non-extensible coding of HTTP > to a fixed vocabulary. > > Now, if the needs/goal are for much better compression than what you > get that way, you really need to go beyond HTTP as a framework, > where information in common across a sequence of requests is > transferred in the first request and used in later requests (a > statefull protocol, at least for the length of the conversation). > But then it isn't HTTP anymore, but maybe "http style", and you > don't have constraints. Of course, you then have other questions > people will ask you, when you are really different... > - Jim > > > Julian Reschke wrote: >> I just looked at >> <http://tools.ietf.org/html/draft-frank-6lowpan-chopan-00> >> and I'm a bit concerned by the fact that this essentially profiles >> HTTP. >> For instance, it makes it impossible to use HTTP extensions that >> use "new" method names or status codes. Profiling like this has >> been a concern in the past, such as when the Atom WG discussed >> whether it could rely on DELETE and PUT due to restricted >> implementations/mappings that would only allow GET and POST -- so >> the problem may not be apparent right now considering deployed HTTP >> applications, but it will once people want to do new things. >> In particular (just from a quick reading): >> - HTTP extension methods not supported >> - some standard headers are restricted in what they can carry >> (ETag, Cache-Control) >> - some headers are listed as "standard", but do not seem to be >> registered ("Awake-Time"?) >> - new headers are allowed to be stripped (that closes an important >> extension point) >> I can see why the compression is optimized for common HTTP >> features, but it really shouldn't make extensions hard or impossible. >> Best regards, Julian >> > > -- Mark Nottingham http://www.mnot.net/
Received on Wednesday, 15 July 2009 06:41:27 UTC