When an experimental name escapes
01A textual parameter is a named piece of protocol data, such as a mail or HTTP field. Historically X- or similar constructs such as x. marked a supposedly experimental or private name. RFC6648 explains how such names escape into public deployments and make a later rename expensive. The Picnic-Mode names here are fictional teaching examples, not registered fields.
A hypothetical compatibility implementation recognizes both spellings. That can retain the old name indefinitely. The picture assumes equal semantics for this example only; check real definitions before aliasing.
Source for this drawing: RFC 6648 · Read RFC section 1 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
- Parameter
- A named item of protocol data; this guide concerns textual names, not numeric code points.
- Interoperability
- The ability of different implementations to work together.
- Migration
- Moving a deployed feature to a different name or behavior while considering existing implementations.
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Changing a deployed name can change what older implementations recognize.
- RFC6648 deprecates X- and similar status-marking constructs for newly defined textual parameter names, including new parameters in established application protocols.
- Private, local and experimental parameters remain legitimate; the advice concerns naming, not a ban on experimentation.
- An old name and a new name need not be interchangeable. Supporting both is a possible compatibility cost, not a universal migration requirement imposed by this RFC.
The arrows show a hypothetical extension rollout. This best-practice document does not define a new packet protocol or a Picnic-Mode field.
Read the RFC section ↗