Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Server push with standalone Jetty

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 <sbordet@xxxxxxxxxxx> wrote:
Hi,

On Wed, Feb 3, 2016 at 8:46 PM, Conundrum <Conondrumk@xxxxxxxxx> 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
jetty-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users


Back to the top