[hybi] HTTP is not a disaster. Was: Extensibility mechanisms?

Greg Wilkins <gregw@webtide.com> Mon, 19 April 2010 08:54 UTC

Return-Path: <gregw@webtide.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A7B0B3A68C0 for <hybi@core3.amsl.com>; Mon, 19 Apr 2010 01:54:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.52
X-Spam-Level:
X-Spam-Status: No, score=-0.52 tagged_above=-999 required=5 tests=[AWL=-0.521, BAYES_50=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 73VVRw4yY5Vo for <hybi@core3.amsl.com>; Mon, 19 Apr 2010 01:54:55 -0700 (PDT)
Received: from mail-bw0-f225.google.com (mail-bw0-f225.google.com [209.85.218.225]) by core3.amsl.com (Postfix) with ESMTP id 53C7F3A6952 for <hybi@ietf.org>; Mon, 19 Apr 2010 01:50:16 -0700 (PDT)
Received: by bwz25 with SMTP id 25so5200365bwz.28 for <hybi@ietf.org>; Mon, 19 Apr 2010 01:50:03 -0700 (PDT)
Received: by 10.204.128.68 with SMTP id j4mr1880620bks.49.1271667002872; Mon, 19 Apr 2010 01:50:02 -0700 (PDT)
Received: from [192.168.0.100] (host116-234-static.43-88-b.business.telecomitalia.it [88.43.234.116]) by mx.google.com with ESMTPS id 13sm3027662bwz.7.2010.04.19.01.50.01 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 19 Apr 2010 01:50:02 -0700 (PDT)
Message-ID: <4BCC1938.7010807@webtide.com>
Date: Mon, 19 Apr 2010 10:50:00 +0200
From: Greg Wilkins <gregw@webtide.com>
User-Agent: Thunderbird 2.0.0.24 (X11/20100411)
MIME-Version: 1.0
To: "hybi@ietf.org" <hybi@ietf.org>
References: <h2w5c902b9e1004152345j992b815bz5f8d38f06a19181a@mail.gmail.com> <Pine.LNX.4.64.1004160701250.751@ps20323.dreamhostps.com> <4BC860FD.8080007@webtide.com> <Pine.LNX.4.64.1004161952530.751@ps20323.dreamhostps.com> <4BC96A0D.4080904@webtide.com> <Pine.LNX.4.64.1004180246380.751@ps20323.dreamhostps.com> <4BCAB2C1.2000404@webtide.com> <B9DC25B0-CD21-44E7-BD9B-06D0C9440933@apple.com> <4BCB7829.9010204@caucho.com> <Pine.LNX.4.64.1004182349240.751@ps20323.dreamhostps.com>
In-Reply-To: <Pine.LNX.4.64.1004182349240.751@ps20323.dreamhostps.com>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Subject: [hybi] HTTP is not a disaster. Was: Extensibility mechanisms?
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2010 08:54:56 -0000

Ian Hickson wrote:
> On Sun, 18 Apr 2010, Scott Ferguson wrote:
>> The client and server APIs must be suitable for amateur programmers, and 
>> the wire protocol must support those simple APIs, but it's _not_ 
>> important that the wire protocol be implementable by someone who can't 
>> understand buffering, chunking or encoding. After all, HTTP/1.1 requires 
>> those capabilities.
> 
> IMHO, HTTP is a disaster in terms of getting multiple server-side 
> implementations. Over three quarters of the market is dominated by two 
> vendors, and the third largest vendor on a per-server basis is a company 
> that runs a proprietary implementation and derives significant benefit 
> from being able to do so. There are some custom servers, e.g. in some set 
> top boxes or other network devices too small to run one of the few common 
> servers, and many of those are highly incomplete or buggy implementations.


The HTTP server market is vibrant and dynamic and it is a
misrepresentation to characterize it as a disaster.

Unfortunately netcraft have stopped publishing the detail of
their server surveys.   But in 2008, when they were last published,
there were many many more than just "some custom servers".

Even back in the late nineties there were hundreds, if not thousands
of servers listed.  I remember being very excited when jetty broke
into the top 150, then top 100, then top 50 then top 10 for a while.

We'd fallen out of the top 10 on the last survey, not because we
had not increased market share, but because other servers had
come along and grown even more.

Nginx is now the 3rd top server that was originally written by
one guy for one website 5 years ago.



Even on the client site, HTTP is vibrant and diverse.

OK, there are limited browser choices, but that is more
a dynamic of desktop application choice rather than protocol
choice.     If you consider HTTP clients in general, there
are thousands of implementations, with many hundreds in
wide spread usage.

The protocol is simple enough that if you want to just
crack open a socket a GET some content, you can... and
many many developers do so.



Could HTTP be simpler or better designed?  Sure it could!
But I do not think you can characterize it as a disaster.

The complexities of HTTP are almost entirely optional,
but are there for very good reasons of efficiency,
scalability and portability.   They are there to solve
real world problems.  Having a simple protocol used
by simple developers will not make those problems
go away.

regards



PS. while I'm quoting Netcraft... I just noticed
this little gem:

  "More than 10 million websites were found running
   F5 BIG-IP devices, in our most recent Web Server
   Survey. F5's BIG-IP product family uses the TMOS
   platform to provide a modular approach to traffic
   management, and several distinct modules are
   available for tasks such as load balancing, SSL
   acceleration and fast caching."

So if websockets does not work well with intermediaries,
that's 10 million websites from just one vendor
that we disenfranchise.