Subject: [quicwg/base-drafts] What indicates the end of a message? (#2230)

From: ekr <[email-masked]>
Date: Thu, 20 Dec 2018 15:10:30 -0800

S 5.

---
When a stream is closed, this indicates the end of an HTTP message. Because some
messages are large or unbounded, endpoints SHOULD begin processing partial HTTP
messages once enough of the message has been received to make progress.  If a
client stream terminates without enough of the HTTP message to provide a
complete response, the server SHOULD abort its response with the error code
HTTP_INCOMPLETE_REQUEST.
---

This creates two ways to say the end of the HTTP messages:

- Send the HEADERs frame (at which point you have to close,
  but you know its done)
- Don't send the HEADERs frame and close the stream

That seems a bit unfortunate. Would it make more sense to require the final HEADERS frame, even if it were empty?

Also, can the server send PUSH_PROMISE after the second HEADERS. I think no, but...

-- 
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/issues/2230

---

From: Martin Thomson <[email-masked]>
Date: Thu, 20 Dec 2018 19:54:30 -0800

This is low on the list of ways in which HTTP is not great.  I'm not inclined to change it.

There is no prohibition on PUSH_PROMISE, just a recommendation against it.  That is, promises SHOULD precede any mention of the promised resource.  It's very likely that a promise after trailers is not useful, but there is no explicit prohibition.

-- 
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/issues/2230#issuecomment-449235404

---

From: Kazuho Oku <[email-masked]>
Date: Fri, 21 Dec 2018 14:16:14 -0800

+1 to what @martinthomson says.

I also agree that this is not great, but this is based on the design of HTTP/2. I do not think there is a reason strong enough to adopt a different approach.

-- 
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/issues/2230#issuecomment-449511888