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

Reply via email to