<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: http2</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/http2.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2020-11-12T01:44:20+00:00</updated><author><name>Simon Willison</name></author><entry><title>Intent to Remove: HTTP/2 and gQUIC server push</title><link href="https://simonwillison.net/2020/Nov/12/intent-remove-http2-and-gquic-server-push/#atom-tag" rel="alternate"/><published>2020-11-12T01:44:20+00:00</published><updated>2020-11-12T01:44:20+00:00</updated><id>https://simonwillison.net/2020/Nov/12/intent-remove-http2-and-gquic-server-push/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://groups.google.com/a/chromium.org/g/blink-dev/c/K3rYLvmQUBY/m/vOWBKZGoAQAJ"&gt;Intent to Remove: HTTP/2 and gQUIC server push&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
The Chrome / Blink team announce their intent to remove HTTP/2 server push support, where servers can start pushing an asset to a client before it has been requested. It’s been in browsers for over five years now and adoption is terrible. “Over the past 28 days [...] 99.97% of connections never received a pushed stream that got matched with a request [...] These numbers are exactly the same as in June 2019”. Datasette serves redirects with Link: preload headers that cause smart proxies (like Cloudflare) to push the redirected page to the client along with the redirect, but I don’t exepect to miss that optimization if it quietly stops working.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/cramforce/status/1326684546205581312"&gt;@cramforce&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/chrome"&gt;chrome&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http2"&gt;http2&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/datasette"&gt;datasette&lt;/a&gt;&lt;/p&gt;



</summary><category term="chrome"/><category term="http2"/><category term="datasette"/></entry><entry><title>Snowpack</title><link href="https://simonwillison.net/2020/Jan/10/snowpack/#atom-tag" rel="alternate"/><published>2020-01-10T05:06:54+00:00</published><updated>2020-01-10T05:06:54+00:00</updated><id>https://simonwillison.net/2020/Jan/10/snowpack/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.snowpack.dev/"&gt;Snowpack&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Really interesting new twist on build systems for JavaScript. Modern browsers (everything since IE11) support JavaScript modules, but actually working with them is tricky since so much of the JavaScript ecosystem expects you to be using a bundler like Webpack. Snowpack is a tool for converting npm dependencies into JavaScript modules which can then be loaded directly by the browser, taking advantage of HTTP/2 to efficiently load the resulting larger number of files.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://news.ycombinator.com/item?id=21989967"&gt;Hacker News&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http2"&gt;http2&lt;/a&gt;&lt;/p&gt;



</summary><category term="javascript"/><category term="http2"/></entry><entry><title>Quoting Mike Sherov</title><link href="https://simonwillison.net/2019/Feb/15/mike-sherov/#atom-tag" rel="alternate"/><published>2019-02-15T19:12:14+00:00</published><updated>2019-02-15T19:12:14+00:00</updated><id>https://simonwillison.net/2019/Feb/15/mike-sherov/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://twitter.com/mikesherov/status/1096205434267013120"&gt;&lt;p&gt;If you want the fastest website despite implementation difficulty, the answer is: SSR behind a CDN with assets in best compression formats (webp, Brotli, woff2) served over http2 (or 3) from same origin with JS as enhancement only&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://twitter.com/mikesherov/status/1096205434267013120"&gt;Mike Sherov&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/cdn"&gt;cdn&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-performance"&gt;web-performance&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http2"&gt;http2&lt;/a&gt;&lt;/p&gt;



</summary><category term="cdn"/><category term="javascript"/><category term="web-performance"/><category term="http2"/></entry><entry><title>The Best Request Is No Request, Revisited · An A List Apart Article</title><link href="https://simonwillison.net/2017/Nov/28/the-best-request-is-no-request-revisited/#atom-tag" rel="alternate"/><published>2017-11-28T15:50:27+00:00</published><updated>2017-11-28T15:50:27+00:00</updated><id>https://simonwillison.net/2017/Nov/28/the-best-request-is-no-request-revisited/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://alistapart.com/article/the-best-request-is-no-request-revisited"&gt;The Best Request Is No Request, Revisited · An A List Apart Article&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
In HTTP/2 the rules have changed: serving unnecessary code as part of a larger bundle to avoid extra request overhead no longer makes sense. Splitting your code into many files and loading just the ones needed by the current page can knock seconds off your load time.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/web-performance"&gt;web-performance&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http2"&gt;http2&lt;/a&gt;&lt;/p&gt;



</summary><category term="web-performance"/><category term="http2"/></entry><entry><title>ZEIT – 6x Faster Now Uploads with HTTP/2</title><link href="https://simonwillison.net/2017/Nov/8/zeit-http2/#atom-tag" rel="alternate"/><published>2017-11-08T01:04:56+00:00</published><updated>2017-11-08T01:04:56+00:00</updated><id>https://simonwillison.net/2017/Nov/8/zeit-http2/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://zeit.co/blog/http2-uploads"&gt;ZEIT – 6x Faster Now Uploads with HTTP/2&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Fantastic optimization write-up by Pranay Prakash. The Now deployment tool works by computing a hash for every local file in a project, then uploading just the ones that are missing. Pranay switched to uploading over HTTP/2 using the fetch-h2 library and got a 6x speedup for larger projects.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://twitter.com/rauchg/status/928045524430635008"&gt;Guillermo Rauch&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/nodejs"&gt;nodejs&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/zeit-now"&gt;zeit-now&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http2"&gt;http2&lt;/a&gt;&lt;/p&gt;



</summary><category term="nodejs"/><category term="zeit-now"/><category term="http2"/></entry></feed>