<story><title>Removing HTTP/2 Server Push from Chrome</title><url>https://developer.chrome.com/blog/removing-push/</url></story><parent_chain></parent_chain><comment><author>tannhaeuser</author><text>So first Google (Chrome team) foobar&amp;#x27;d HTTP (and HTML and CSS and ...) into overengineered crap to replace TCP with vague promises of pushed resources and multiplexing &lt;i&gt;only&lt;/i&gt; necessary to handle absurdly bloated CSS, images, and fonts there for CDNs by Google et al to sensor your traffic and visit data in the first place, then they admitted server push, as the other touted advantage, being not well thought out after all. The effect being to derail most F&amp;#x2F;OSS HTTP libs, web servers, and TCP&amp;#x2F;IP stacks due to sheer complexity and conflicting goals. Wish we&amp;#x27;d call Google&amp;#x27;s destructive efforts towards the web as what they are.</text></comment>
<story><title>Removing HTTP/2 Server Push from Chrome</title><url>https://developer.chrome.com/blog/removing-push/</url></story><parent_chain></parent_chain><comment><author>treve</author><text>The reason I&amp;#x27;m a little disappointing about this, is because I was really hoping for a future where we improve sending collections of items from APIs.&lt;p&gt;One issue with the typical API formats is that all the data for each resource is shipped with the collection, which means that client caches are unaware of the &amp;#x27;transcluded&amp;#x27;&amp;#x2F;&amp;#x27;embedded&amp;#x27; resources.&lt;p&gt;Server push, if implemented well could have allowed us to just push every collection member down the wire. Push lets you solve the Q+1 issue because all members can be generated together.&lt;p&gt;I did some work trying standardize a simple version of this: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;datatracker.ietf.org&amp;#x2F;doc&amp;#x2F;html&amp;#x2F;draft-pot-prefer-push-01&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;datatracker.ietf.org&amp;#x2F;doc&amp;#x2F;html&amp;#x2F;draft-pot-prefer-push-...&lt;/a&gt;&lt;p&gt;Also, at some point there were talks about a browser request header that would send the browsers&amp;#x27; cache state as a bloom filter to the server, which would let the browser have a pretty good idea of what not to send.&lt;p&gt;When the push removal was originally announced, I wrote a bit more about this: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;evertpot.com&amp;#x2F;http-2-push-is-dead&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;evertpot.com&amp;#x2F;http-2-push-is-dead&amp;#x2F;&lt;/a&gt;&lt;p&gt;Anyway, I&amp;#x27;m disappointed this happens. I get that people had trouble putting push to good use, but in my opinion this just needed more time to brew. Once Chrome announced the removal, all of this died.</text></comment>