Re: [hybi] Versioning is a anti-pattern

Greg Wilkins <gregw@webtide.com> Thu, 02 September 2010 23:33 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 1A7F73A676A for <hybi@core3.amsl.com>; Thu, 2 Sep 2010 16:33:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.021
X-Spam-Level:
X-Spam-Status: No, score=-1.021 tagged_above=-999 required=5 tests=[AWL=-0.533, BAYES_05=-1.11, FM_FORGED_GMAIL=0.622]
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 29pkI+X+vret for <hybi@core3.amsl.com>; Thu, 2 Sep 2010 16:33:40 -0700 (PDT)
Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by core3.amsl.com (Postfix) with ESMTP id ACDCF3A635F for <hybi@ietf.org>; Thu, 2 Sep 2010 16:33:39 -0700 (PDT)
Received: by fxm18 with SMTP id 18so799255fxm.31 for <hybi@ietf.org>; Thu, 02 Sep 2010 16:34:09 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.239.132.206 with SMTP id 14mr529258hbs.152.1283470448752; Thu, 02 Sep 2010 16:34:08 -0700 (PDT)
Received: by 10.239.186.139 with HTTP; Thu, 2 Sep 2010 16:34:08 -0700 (PDT)
In-Reply-To: <AANLkTinyQUYn_zRZKPC0Gp7MeT13O2jhXu1EyNLOojXR@mail.gmail.com>
References: <20100901224502.0519B3A687C@core3.amsl.com> <AANLkTikP1CF22fL0rBniXmrxEoBAbTNfzP9kyiNA4nbb@mail.gmail.com> <AANLkTi=_1m36ThFZTH_aGE_Unz0KTeexJq_74UGr2j+u@mail.gmail.com> <alpine.DEB.2.00.1009022022090.7470@tvnag.unkk.fr> <AANLkTinyQUYn_zRZKPC0Gp7MeT13O2jhXu1EyNLOojXR@mail.gmail.com>
Date: Fri, 03 Sep 2010 09:34:08 +1000
Message-ID: <AANLkTikkGGJ1dhzP7z-qnxiAs_Bus8rEecV0YBO9Uw5N@mail.gmail.com>
From: Greg Wilkins <gregw@webtide.com>
To: hybi <hybi@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Subject: Re: [hybi] Versioning is a anti-pattern
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: Thu, 02 Sep 2010 23:33:42 -0000

On 3 September 2010 07:42, David Orchard <orchard@pacificspirit.com> wrote:
> A lack of versioning, and I don't mean just using identifiers, is
> pretty risky.  Interesting question as to whether HTTP version
> identifiers have helped or not, and I tend to think they have helped.

HTTP servers deployed in the wild stills sees a significant proportion
of HTTP/1.0 traffic, but mostly HTTP/1.1. There is still even a few
HTTP/0.9 (== no version) requests, but those are mostly me using
telnet to get a REST resource (because I can't remember the args to
curl).

The difference in protocol behaviour between these 3 versions is
significant and it would be neigh impossible for a server to service
the variety of clients deployed without a version. Supporting 3
versions of the protocol does complicate the server, but there is no
other choice as you cannot force web clients to upgrade (nor me to
remember the args to curl)

The only time I've had real problems with different dialects of HTTP
was during the change from rfc2068 to rfc2616, both of which said they
were HTTP/1.1 (why not HTTP/1.2?        So maybe now, years later it
is great they we don't have to maintain 2068 support, but that was
only lucky as there was not wide deployment of rfc2068 clients.

cheers