- From: Roberto Peon <grmocg@gmail.com>
- Date: Mon, 12 Aug 2013 12:42:20 -0700
- To: Martin Thomson <martin.thomson@gmail.com>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAP+FsNf0KM5_WsygO+OXYGK2g9WfzK48j39XJDistquHsTFAeA@mail.gmail.com>
Sounds fine by me. As currently spec'd, PUSH_PROMISE must be followed by HEADERS on the reserved stream. This requirement allows for a potential future modification whereby DATA frames on the reserved stream, received before a HEADERS frame could be interpreted as the body of the request payload. This "smells" ugly to me. If we decide to deploy on something like SCTP, and this mapping is difficult (perhaps because we wish to continue to use a compressor that requires in-order processing, as most would), then instead a flag indicating that the data frames are part of the request payload would be reasonable. This also "smells" ugly to me. Another potential method of making this work is that PUSH_PROMISE has a flag, which if set, indicates that a request body is present, which also changes the size of the PUSH_PROMISE to indicate another stream-id, which is the reserved-stream for the request-body. Also ugly, but at least it is more up-front about the ugly. In any case, any of the potential changes above feel like significant increases in complexity. Do we have use-cases for pushing-a-request-body that would show improvement in some dimension commensurate with the complexity? I can't think of any, but I'm not as well versed in such esoteric methods... -=R On Mon, Aug 12, 2013 at 12:01 PM, Martin Thomson <martin.thomson@gmail.com>wrote: > There's been something of a long thread on github about this topic, > that Will was unsuccessful in moving over here. Let me try again. > > https://github.com/http2/http2-spec/issues/193 > > Julian summarized the issue quite cogently as: > > [...] HTTP/1.1 allows safe methods with payload, so if we decide that > > in HTTP/2.0 we want to allow PUSH for safe methods, we shouldn't > > rule out that they could have payloads. > > I'm just going to throw out the obvious counter argument here, namely: > > HTTP/2.0 doesn't allow push for safe methods, it allows push for safe > methods that do not have request bodies. > > And then we see what happens. Commence! > >
Received on Monday, 12 August 2013 19:42:47 UTC