Subject: p1: Receiving a higher minor HTTP version number

From: Mark Nottingham <[email-masked]>
Date: Sat, 20 Apr 2013 14:07:17 +1000

I don't see anything in p1 2.6 Protocol Versioning that explicitly says an implementation ought to accept a message that has the same major version number it implements, but a higher minor version number.

I think we need to spell this out, because IME some servers do error out on (for example) a HTTP/1.2 request.

--
Mark Nottingham   http://www.mnot.net/

---

From: Willy Tarreau <[email-masked]>
Date: Sat, 20 Apr 2013 08:29:04 +0200

On Sat, Apr 20, 2013 at 02:07:17PM +1000, Mark Nottingham wrote:
> I don't see anything in p1 2.6 Protocol Versioning that explicitly says an
> implementation ought to accept a message that has the same major version
> number it implements, but a higher minor version number.
> 

Makes sense but I'm not sure that these implementations will change for
this these days anyway, with 2.0 coming. Also we have seen with the
1.0->1.1 transition that the minor change was not that seemless (specifically
due to persistent conns).

Willy

---

From: Mark Nottingham <[email-masked]>
Date: Sat, 20 Apr 2013 16:30:17 +1000

> due to persistent conns).

Yeah, if this is uncontroversial, I can see adding a sentence or two (maybe with a requirement); if not, it's probably not worth the time.

Cheers,

---

From: Willy Tarreau <[email-masked]>
Date: Sat, 20 Apr 2013 08:47:21 +0200

On Sat, Apr 20, 2013 at 04:30:17PM +1000, Mark Nottingham wrote:
> Yeah, if this is uncontroversial, I can see adding a sentence or two (maybe
> with a requirement); if not, it's probably not worth the time.

Maybe at least what we should (IMO) say is that if an implementation receives
a message in a minor version it does not support, it should apply the
semantics of its own version and respond with its own (and probably refrain
from using persistent connections). This would give guidelines to people who
just implement 1.0 in simple scripts (though it's unlikely that these people
read RFCs anyway).

Willy

---

From: Mark Nottingham <[email-masked]>
Date: Sat, 20 Apr 2013 18:53:09 +1000

It might also help to add "major" to the first sentence of the description of 505 in p2:

> The 505 (HTTP Version Not Supported) status code indicates that the server does not support, or refuses to support, the protocol version that was used in the request message. 

Because some people will read that and stop.

---

From: Willy Tarreau <[email-masked]>
Date: Sat, 20 Apr 2013 11:07:50 +0200

> Because some people will read that and stop.

Excellent idea! At least it will force them to go on reading and see
what should be done with the minor version.

Willy

---

From: Amos Jeffries <[email-masked]>
Date: Sun, 21 Apr 2013 12:29:47 +1200

> what should be done with the minor version.

+1 for that change. I myself stumbled on this same thing way, way back.

Amos

---

From: Mark Nottingham <[email-masked]>
Date: Mon, 22 Apr 2013 13:48:36 +1000

Now:
  http://trac.tools.ietf.org/wg/httpbis/trac/ticket/449