Hi, I discussed the issue about recursive pushes with nghttp2's author.
I'll quote his reply here: "recursive" pushes are not allowed in HTTP/2. https://tools.ietf.org/html/rfc7540#section-6.6 > PUSH_PROMISE frames MUST only be sent on a peer-initiated stream that > is in either the "open" or "half-closed (remote)" state. The stream > identifier of a PUSH_PROMISE frame indicates the stream it is > associated with. If the stream identifier field specifies the value > 0x0, a recipient MUST respond with a connection error (Section 5.4.1) > of type PROTOCOL_ERROR. If jetty performs "recursive" pushes, then it violates RFC 7540. I believe recursive push is wrong thing. If firefox or chrome accept them, > and actually utilize them, its their serious bug. You can report this to > their respective bug tracker. > I think jetty team confused with the legacy SPDY specification. In SPDY, > it does not say recursive push is not prohibited. jetty just inherited it > from SPDY without carefully reading RFC 7540. It is definitely jetty's bug. On Thu, Feb 4, 2016 at 1:03 AM, Simone Bordet <[email protected]> wrote: > Hi, > > On Wed, Feb 3, 2016 at 8:46 PM, Conundrum <[email protected]> wrote: > > > [ 0.079] [INVALID; error=Protocol error] recv PUSH_PROMISE frame > > <length=29, flags=0x04, stream_id=22> > > ; END_HEADERS > > (padlen=0, promised_stream_id=42) > > nghttp2 seems to complain about this PUSH_PROMISE. > > The only thing that is slightly different from the normal is that this > PUSH_PROMISE belongs to a previous PUSH_PROMISE. > The primary resource is stream #13, which got stream #22 pushed, and > stream #22 got stream #42 pushed (above). > > Perhaps nghttp2 is not able to handle "recursive" pushes ? > > -- > Simone Bordet > ---- > http://cometd.org > http://webtide.com > Developer advice, training, services and support > from the Jetty & CometD experts. > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
