FriendsOfShopware / FroshPerformance

Performance improvements for Shopware
MIT License
28 stars 2 forks source link

HTTP2/Push not working as expected #28

Open the-hotmann opened 4 years ago

the-hotmann commented 4 years ago

Actual behaviour

At the first load (anonym Tab) the .js File gets pushed with HTTP2/Push but the .css File not, also the the second load (hard reload to reload all ressources) no even a single File is getting pushed with HTTP2/Push. On the same Server a TYPO3 page is hosted and works flawless every time you call the page, no matter what, its pushing the selected Files all the Time, not just at the first call.

Also the .css Files never gets pushed, is there a way to force this plugin to do so?

Expected behaviour

Pushing all Files everytime, on every call

Environment

Debian 9.11 Plesk 18 Shopware 5.6.2

Steps to reproduce

  1. Well srsly xD just install this Plugin and use it, for me its not pushing the needed Files.
  2. if you need more Infos pls comment, and I will provide them. I also can provide some screenshots from the Google Chrome DevConsole (Network Section)

Checklist

--

♥ ANY INCOMPLETE REPORT WILL BE CLOSED RIGHT AWAY ♥

shyim commented 4 years ago

This plugin does nothing on 5.6. This feature is now in core. Have you Link headers?

the-hotmann commented 4 years ago

Link Headers? How do I check if I do have this?

the-hotmann commented 4 years ago

I checked the Response of the html File and the Header, on the first Load there is this Header:

h2-pushed: </web/cache/1573060604_a5ca549df789aefe5cb7ea0c274f6ee5.js>

But when I reload its not there anymore

Also does this Plugin support forcing the compiled/combined CSS File to be pushed? Makes a lot of sense to me as it gets handled as "inlineCSS" and no renderblocking

shyim commented 4 years ago

They will be only pushed once. Otherwise, is the performance slower than without

the-hotmann commented 4 years ago

Dont get this, if you already have the ressources that normaly are pushed then you do not request them again, you just pull them out of the Cache. Means: if you have to load them again (Force reload) it cant be faster without pushing then with pushing, also the JS and CSS Files are getting 'invoked' at a different time, which leads to inconsistent behaviour.

But again this all is not explaining why it is not pushing the css File!?

shyim commented 4 years ago

They will be pushed only once, because they are then in the browser cache. Not need to push it on every request. It is slower, cause the response is bigger and the client does not need it, cause its on client cache. When you push on every request, the chrome developer console will show also a warning 😉

the-hotmann commented 4 years ago

When you push on every request, the chrome developer console will show also a warning 😉

Never seen a warning in Chrom Dev Console for pushing. Could you pls show me what you mean?