Subject: Upgrade: tokens

From: Stefan Eissing <[email-masked]>
Date: Mon, 21 Sep 2015 14:06:22 +0200

Implemenation raised the question if tokens in Upgrade headers are to be treated case sensitive or not (for ALPN it is clearly defined). The current status

- rfc7230 does not explicitly say so, but for other headers it does. So, one could say that Upgrade values are case-sensitive
- rfc7230 reserves tokens of flavor "HTTP*" for itself and future versions
- the ALPN value "http/1.1" is seen in the wild
- WebSocket RFC explicitly defines its token as case-insensitive

I see only interop problems should HTTP insist on case sensitive values. Does 7230 need a fix here?

Thanks, Stefan

<green/>bytes GmbH
Hafenweg 16, 48155 Münster, Germany
Phone: +49 251 2807760. Amtsgericht Münster: HRB5782

---

From: "Roy T. Fielding" <[email-masked]>
Date: Mon, 21 Sep 2015 15:04:27 -0700

> On Sep 21, 2015, at 5:06 AM, Stefan Eissing <[email-masked]> wrote:
> 

They are case-sensitive.

> - the ALPN value "http/1.1" is seen in the wild

ALPN has nothing to do with it.

> - WebSocket RFC explicitly defines its token as case-insensitive

And yet only registers one token.

> I see only interop problems should HTTP insist on case sensitive values. Does 7230 need a fix here?

No, interop problems will only occur when a string other than the
registered token is sent.  We should not encourage variations.

....Roy