Subject: #44: alt-svc frame on pushed streams

From: Mark Nottingham <[email-masked]>
Date: Tue, 17 Mar 2015 16:50:38 +1100

<https://github.com/httpwg/http-extensions/issues/44>

Patrick and Julian point out that we’re not explicit about the semantics of ALTSVC on server-initiated streams.

Any objection to stating that they MUST be ignored by recipients?

Regards,

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

---

From: Martin Thomson <[email-masked]>
Date: Tue, 17 Mar 2015 09:41:49 -0700

> Any objection to stating that they MUST be ignored by recipients?

Is there any reason that server-initiated streams need to be made
special?  I mean, once the standard response handling has started, I
can't imagine any reason for treating push specially.

---

From: Patrick McManus <[email-masked]>
Date: Tue, 17 Mar 2015 13:21:26 -0400

Issue 44, which I raised, is specifically about the interpretation of the
origin field for pushed streams. The document already sepcifies must ignore
ignore the frame for pulled streams which specify an origin (because the
stream ID is supposed to define the origin) but it is silent about pushed
streams. I suggested must ignore for pushed streams too (when they provide
an origin) which still makes sense to me (i.e. as martin says, they aren't
special.)

Julian added onto the issue saying we don't specify altsvc frame handling
in general (not just origin semantics) for pushed frames. Mark seems to
have coalesced those two points into this one email - I agree that the
answer for the whole frame shouldn't be must ignore assuming it doesn't
supply an origin.

at least that's the way I unwind it.

---

From: Mark Nottingham <[email-masked]>
Date: Sun, 22 Mar 2015 11:32:51 -0500

So, I think we could solve Patrick’s issue by saying:

"""
An ALTSVC frame on a client-initiated stream containing non-empty "Origin" information is invalid and must be ignored. Likewise, an ALTSVC frame on stream 0 with empty (length 0) "Origin" information is invalid and must be ignored.
"""

to:

"""
An ALTSVC frame on stream 0 with empty (length 0) "Origin" information is invalid and must be ignored. An ALTSVC frame on a stream other than stream 0 containing non-empty "Origin" information is invalid and must be ignored. 
"""

WRT Julian's issue, I think we could address this by changing 

"""
An ALTSVC frame from a server to a client on a client-initiated stream indicates that the conveyed alternative service is associated with the origin of that stream.
"""

to:

"""
An ALTSVC frame from a server to a client on a stream other than stream 0 indicates that the conveyed alternative service is associated with the origin of that stream.
"""

Both of these assume that we want to allow ALTSVC on a pushed stream.

Discuss...

> On 17 Mar 2015, at 12:21 pm, Patrick McManus <[email-masked]> wrote:
> 
> Issue 44, which I raised, is specifically about the interpretation of the origin field for pushed streams. The document already sepcifies must ignore ignore the frame for pulled streams which specify an origin (because the stream ID is supposed to define the origin) but it is silent about pushed streams. I suggested must ignore for pushed streams too (when they provide an origin) which still makes sense to me (i.e. as martin says, they aren't special.)
> 
> Julian added onto the issue saying we don't specify altsvc frame handling in general (not just origin semantics) for pushed frames. Mark seems to have coalesced those two points into this one email - I agree that the answer for the whole frame shouldn't be must ignore assuming it doesn't supply an origin.
> 
> On Tue, Mar 17, 2015 at 12:41 PM, Martin Thomson <[email-masked]> wrote:

---

From: Patrick McManus <[email-masked]>
Date: Sun, 22 Mar 2015 12:07:45 -0500

> So, I think we could solve Patrick’s issue by saying:

Ack

> WRT Julian's issue, I think we could address this by changing

Sgtm

> > Issue 44, which I raised, is specifically about the interpretation of
the origin field for pushed streams. The document already sepcifies must
ignore ignore the frame for pulled streams which specify an origin (because
the stream ID is supposed to define the origin) but it is silent about
pushed streams. I suggested must ignore for pushed streams too (when they
provide an origin) which still makes sense to me (i.e. as martin says, they
aren't special.)
> >
> > Julian added onto the issue saying we don't specify altsvc frame
handling in general (not just origin semantics) for pushed frames. Mark
seems to have coalesced those two points into this one email - I agree that
the answer for the whole frame shouldn't be must ignore assuming it doesn't
supply an origin.

---

From: Julian Reschke <[email-masked]>
Date: Tue, 24 Mar 2015 14:25:48 +0100

> Both of these assume that we want to allow ALTSVC on a pushed stream.

SGTM.