Subject: [quicwg/base-drafts] Reference 8.2 of RFC7540 to explain Server Push (#2665)

From: ianswett <[email-masked]>
Date: Thu, 02 May 2019 16:43:53 -0700

The transition to "Push Streams" has no preceding mention of server push.  This adds a reference to the correct section of RFC7540.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/2665

-- Commit Summary --

  * Reference 8.2 of RFC7540 to explain Server Push

-- File Changes --

    M draft-ietf-quic-http.md (4)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/2665.patch
https://github.com/quicwg/base-drafts/pull/2665.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665

---

From: Jana Iyengar <[email-masked]>
Date: Mon, 06 May 2019 23:50:15 +0000 (UTC)

janaiyengar commented on this pull request.

> @@ -370,6 +370,10 @@ able to send stream data first after the cryptographic handshake completes.
 
 ### Push Streams
 
+Server push is an optional feature introduced in HTTP/2 that allows a server to
+initiate a response before a request has been made.  See section 8.2 of
+{{!RFC7540}} for more details.

That's not quite accurate... since the response has to be associated with a previous request. I don't think that level of detail is necessary though. How about "The Server Push feature of HTTP/2 (see Section 8.2 of {{!RFC7540}}) is facilitated in HTTP/3 via push streams."

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#pullrequestreview-234252281

---

From: Lucas Pardue <[email-masked]>
Date: Mon, 06 May 2019 17:42:46 -0700

If mention of server push is desired before mention of push stream, would it be simpler to move the final sentence of the paragraph to the start?

> Server push and Push IDs are described in Section 5.4.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#issuecomment-489862304

---

From: MikkelFJ <[email-masked]>
Date: Mon, 06 May 2019 23:58:04 -0700

mikkelfj commented on this pull request.

 ### Push Streams

I'm not too fond of relying on HTTP/2 to understand HTTP/3 beyond - "see this list header and verbs".

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#discussion_r281494740

---

From: Mike Bishop <[email-masked]>
Date: Tue, 07 May 2019 00:05:29 -0700

MikeBishop commented on this pull request.

 ### Push Streams

Understandably -- it's a line we have to walk.  (Note that HTTP/2 defines no verbs and pseudo-no headers.)

My principle has been that I'm trying to weed out assumptions that you've read RFC7540 and understand a given concept already.  I'm happy to save redundant and possibly-conflicting text by pointing to a specific section of RFC7540, however.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#discussion_r281496737

---

From: ianswett <[email-masked]>
Date: Tue, 07 May 2019 13:39:25 -0700

Maybe this would be better if section 4 was moved after section 6?  Then the concepts would be explained before going into the framing.

I'd also like to reorder/renumber all the push frame types so they're all adjacent to one another and in a sensible order.  Is there a reason they're numbered as they are?  If not, I'll open an issue to renumber them.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#issuecomment-490246487

---

From: Mike Bishop <[email-masked]>
Date: Tue, 07 May 2019 13:53:59 -0700

There's already an issue to reorder some of the sections, so I'm happy to consider this as part of the same discussion.  As to the numbering, the primary reason is maintaining the same frame IDs for things that stayed over from HTTP/2 -- PUSH_PROMISE has the same ID, CANCEL_PUSH has the ID that HTTP/2 used for RST_STREAM, and DUPLICATE_PUSH is brand new and so pushes into unallocated space.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#issuecomment-490251215

---

From: Mike Bishop <[email-masked]>
Date: Thu, 16 May 2019 12:16:22 -0700

Given that #2701 is in now, do you still see this as a problem?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#issuecomment-493197100

---

From: ianswett <[email-masked]>
Date: Thu, 16 May 2019 12:32:12 -0700

I think the Server Push section still lacks a simple explanation of what the push does.  A sentence like what I added in this PR at the beginning would help that.  Currently the Server Push section goes directly into mechanics.

https://github.com/quicwg/base-drafts/blob/master/draft-ietf-quic-http.md#server-push

"HTTP/3 server push is similar to what is described in HTTP/2 {{!HTTP2}}, but uses different mechanisms.

Each server push is identified by a unique Push ID. ..."

I'd add more to the first paragraph in case people don't want to read the H2 draft.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#issuecomment-493202155

---

From: Mike Bishop <[email-masked]>
Date: Thu, 16 May 2019 12:37:39 -0700

I think I'd prefer for the reference to be to 4.4 of the current draft instead, since that does point to RFC7540 and has more context as well.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#issuecomment-493203924

---

From: Mike Bishop <[email-masked]>
Date: Thu, 16 May 2019 12:39:38 -0700

Whoops -- which also doesn't have the two-sentence explanation of what push is.  That's up in the intro.  Let me copy that over to 4.4.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#issuecomment-493204537

---

From: Mike Bishop <[email-masked]>
Date: Thu, 16 May 2019 12:40:53 -0700

@MikeBishop pushed 1 commit.

250ed574d6968da9fe54756945047c6c1cb18615  Copy the two-sentence explainer into the Push section

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665/files/c366a6cccf3ef30f74c1e0f53e58576a5fe76cc6..250ed574d6968da9fe54756945047c6c1cb18615

---

From: Mike Bishop <[email-masked]>
Date: Thu, 16 May 2019 12:42:20 -0700

> @@ -944,6 +947,10 @@ able to send stream data first after the cryptographic handshake completes.
 
 ### Push Streams

```suggestion
initiate a response before a request has been made.  See Section 8.2 of
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#pullrequestreview-238599225

---

From: ianswett <[email-masked]>
Date: Thu, 16 May 2019 13:40:26 -0700

@ianswett pushed 1 commit.

a255f25164aa3f4ad3fa187e0a2544b05308cc97  Update draft-ietf-quic-http.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665/files/250ed574d6968da9fe54756945047c6c1cb18615..a255f25164aa3f4ad3fa187e0a2544b05308cc97

---

From: ianswett <[email-masked]>
Date: Fri, 17 May 2019 18:35:15 +0000 (UTC)

Thanks for the added text Mike, it looks great.  I'm happy with this, so it's up to you to decide when this is ready to merge.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#issuecomment-493555573

---

From: ianswett <[email-masked]>
Date: Fri, 17 May 2019 11:35:29 -0700

ianswett commented on this pull request.

Thanks for the improvements, Mike!

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#pullrequestreview-239076314

---

From: Mike Bishop <[email-masked]>
Date: Fri, 17 May 2019 12:54:36 -0700

b232f3c11889ece3e2ab4856fa11eb198ba7b9b9  Internal reference

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665/files/a255f25164aa3f4ad3fa187e0a2544b05308cc97..b232f3c11889ece3e2ab4856fa11eb198ba7b9b9

---

From: Mike Bishop <[email-masked]>
Date: Fri, 17 May 2019 12:55:08 -0700

Merged #2665 into master.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2665#event-2350311994