Re: [apps-discuss] "X-" revisited

Peter Saint-Andre <> Mon, 11 July 2011 14:00 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 734C721F887C for <>; Mon, 11 Jul 2011 07:00:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -102.963
X-Spam-Status: No, score=-102.963 tagged_above=-999 required=5 tests=[AWL=-0.364, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id UYyJpj2H4WbK for <>; Mon, 11 Jul 2011 07:00:36 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 04E3F21F8700 for <>; Mon, 11 Jul 2011 07:00:36 -0700 (PDT)
Received: from squire.local (unknown []) (Authenticated sender: stpeter) by (Postfix) with ESMTPSA id 0B3EE40FFF; Mon, 11 Jul 2011 08:00:52 -0600 (MDT)
Message-ID: <>
Date: Mon, 11 Jul 2011 08:00:33 -0600
From: Peter Saint-Andre <>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv: Gecko/20110616 Thunderbird/3.1.11
MIME-Version: 1.0
To: Mark Nottingham <>
References: <> <> <> <> <> <>
In-Reply-To: <>
X-Enigmail-Version: 1.1.1
OpenPGP: url=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Cc:, "" <>
Subject: Re: [apps-discuss] "X-" revisited
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 11 Jul 2011 14:00:36 -0000

On 7/10/11 7:18 PM, Mark Nottingham wrote:
> On 07/07/2011, at 6:53 AM, Dave CROCKER wrote:
>> (Entire topic:  X- was a good idea to avoid collisions with standards, but turns out to be a much worse idea for uses that become standards.  So, don't use X-".)
> Can we get this into the abstract... or make it the abstract?

Wordsmithed in my working copy to:

   Many application protocols use named parameters to identify data
   (media types, header fields in Internet mail messages and HTTP
   requests, etc.).  Historically, protocol designers and implementers
   have often distinguished between "standard" and "non-standard"
   parameters by prefixing the latter with the string "X-" or similar
   constructions (e.g., "x."), where the "X" is commonly understood to
   stand for "eXperimental" or "eXtension".  Although in theory the "X-"
   convention was a good way to avoid collisions between standard
   parameters and non-standard parameters, in practice the costs
   associated with leakage of non-standard parameters into the standards
   space outweigh the benefits.  Therefore this document deprecates the
   "X-" convention for most application protocols.

I'll push out a revised I-D today, then we can discuss it further on the
list and in Quebec City.