http2push-gae icon indicating copy to clipboard operation
http2push-gae copied to clipboard

Http2 push on sample app not working ?

Open fabito opened this issue 9 years ago • 17 comments

I'm trying the sample app https://http2-push.appspot.com/ using Chromne Version 51.0.2704.103 (64-bit) on Ubuntu.

Although the Link header is present seems that nothing is being pushed. I only see "quic/1+spdy/3" instead "h2".

http2-push-fail

fabito avatar Jun 22 '16 03:06 fabito

This is a known issue with chromen atm. It's defaulting to the quic protocol which doesn't yet support push. That'll be fixed soon.

On Wed, Jun 22, 2016, 5:57 AM Fábio Franco Uechi [email protected] wrote:

I'm trying the sample app https://http2-push.appspot.com/ using Chromne Version 51.0.2704.103 (64-bit) on Ubuntu.

Although the Link header is present seems that nothing is being pushed. I only see "quic/1+spdy/3" instead "h2".

[image: http2-push-fail] https://cloud.githubusercontent.com/assets/308613/16254237/335c689c-3814-11e6-91a7-2c0429cc84a9.png

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/GoogleChrome/http2push-gae/issues/20, or mute the thread https://github.com/notifications/unsubscribe/AAOigNDGMXN8ilKr0ug8iBlHNuUs8eesks5qOLKfgaJpZM4I7Yob .

ebidel avatar Jun 22 '16 05:06 ebidel

Weird, on another webapp also running on GAE assets are being pushed normally.

sc-http2-push

fabito avatar Jun 22 '16 11:06 fabito

@ebidel Any updates on this issue? Our team is trying to implement the PRPL pattern with a GAE server, and this is the only module that we know that enables HTTP2 Push

ciampo avatar Sep 05 '16 17:09 ciampo

I believe the goal was to get quic + h2 push working this quarter, but now update (yet) on the GAE side of things.

ebidel avatar Sep 05 '16 19:09 ebidel

@ciampo you don't need this module to do h2 push on GAE. That's a feature that the core service supports. Just construct the link preload header. All this module does is enable an easier way to construct that header and annotate server endpoints.

ebidel avatar Sep 05 '16 19:09 ebidel

Right - so if I understand this correctly, this module makes it easier to implement server push on GAE, but we're waiting for the Google Cloud team to implement server push fully?

WillDonohoe avatar Sep 26 '16 11:09 WillDonohoe

Google Cloud team to implement server push fully

It should be everywhere on Google's infrastructure. What service are you using that you're not seeing pushed results?

ebidel avatar Sep 26 '16 14:09 ebidel

We're using standard Google App Engine, along with setting the link http header to set the pushed resources.

What I'm expecting is something similar to the Polymer Shop application (although this is running on Apache I believe):

screen shot 2016-09-26 at 4 22 31 pm

Where as this is what we see on the demo page: (We're seeing the same results on our application).

screen shot 2016-09-26 at 4 17 43 pm

Is this caused by the initial answer to this thread where push is not supported by QUIC in chrome at the moment? If so, is there any ETA on when this might be fixed?

WillDonohoe avatar Sep 26 '16 15:09 WillDonohoe

Ah yes, that's https://github.com/GoogleChrome/http2push-gae/issues/20#issuecomment-227648157. It's supposed to be fixed this quarter :\ I believe https://bugs.chromium.org/p/chromium/issues/detail?id=622043 is the issue to follow. FWIW, I'm seeing "h2" request on that demo page, not quic.

ebidel avatar Sep 26 '16 16:09 ebidel

Ah I see, thanks for your response @ebidel. It's interesting that you're getting h2 on that demo, whereas we're getting QUIC, I'm seeing this in canary too.

Hopefully a fix will come soon!

WillDonohoe avatar Sep 26 '16 16:09 WillDonohoe

It's possible Chrome is still running experiments for different users. You can change the behavior in about:flags to enable/disable it. Mine is set to "default" in stable.

screen shot 2016-09-26 at 12 12 53 pm

ebidel avatar Sep 26 '16 17:09 ebidel

Yeah my settings in about:flags are also set to default too.

In the meantime, we've found it quite difficult to see if resources are being pushed to the front end outside Chrome, other than looking at the headers. Other browser dev tools don't seem to include it, or if they do, they keep it well hidden!

We came across a node module that Surma wrote, which reports the resources that are pushed. It's worked out nicely, if anybody else needs to check if they have their server pushing files correctly 👍

screen shot 2016-09-27 at 5 43 33 pm

WillDonohoe avatar Sep 27 '16 16:09 WillDonohoe

Take a look at chrome://net-internals/#http2 to very what push promises are being recv'd and accepted.

ebidel avatar Sep 27 '16 17:09 ebidel

I still have this issue on my chromebook. Had to disable QUIC manually.

vorcigernix avatar Jan 05 '17 20:01 vorcigernix

@ebidel I still have this issue as well. https://bugs.chromium.org/p/chromium/issues/detail?id=622043 is fixed but Push / foo still does not show up in DevTools.

Do you know who we can ping?

cc @Deleplace

beaufortfrancois avatar Sep 19 '18 13:09 beaufortfrancois

What do you see on https://shop.polymer-project.org/? I see h2 requests.

@paulirish might know from the Devtools side.

ebidel avatar Sep 19 '18 22:09 ebidel

I also see h2 requests for https://shop.polymer-project.org/. image

However for https://http2-push.appspot.com/ I see http/2+quic/44 requests without `Push / ...' image

On firebase hosting at https://fbpush2019-09-19.firebaseapp.com/ I see h2 requests but sometimes with Push / and sometimes not ;( image image

beaufortfrancois avatar Sep 20 '18 04:09 beaufortfrancois