RE: [websockets] Making optional extensions mandatory in the API (was RE: Getting WebSockets API to Last Call)

On Thu, 21 Jul 2011, Adrian Bateman wrote:
> On Thursday, July 21, 2011 12:33 PM, Ian Hickson wrote:
> > On Thu, 21 Jul 2011, Adrian Bateman wrote:
> > > 
> > > For platform features that directly affect web developers' pages 
> > > that might sometimes be true. However, compression is also optional 
> > > in HTTP and it doesn't appear to have caused problems or made some 
> > > sites work and others not based on some dominant implementation.
> >
> > Optional features in HTTP have caused no end of trouble and are 
> > amongst the many reasons I avoid optional features so much.
> 
> What specific problems have been caused by the existence of extensions 
> (separate from whether or not extensions have been well defined) and 
> what API consequences have there been i.e. what changes to web APIs have 
> you made because of this?

Content-Type is one big one. It's de-facto "optional" status (mostly 
driven by IE's sniffing behaviour) has had huge security implications, has 
resulted in complicated UA behaviours now being required, has resulted in 
complicated semantics in HTML with respect to when types are honoured and 
when they are not, etc.


> It seems to me that HTTP has been wildly successful and its 
> extensibility is a large part of that.

HTTP has been successful despite being poorly specified, not because of 
it. (Same with HTML.)


> In any case, that's a distraction - the W3C Web API should specify the 
> things needed to project the protocol into the web developer's hands and 
> no more. Discussions of the protocol, which is in Last Call, should be 
> made in the appropriate working group at the IETF. There's no need to 
> profile the protocol in the W3C API spec.

If the IETF won't do the job right, we have to.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Thursday, 21 July 2011 21:26:36 UTC