<story><title>HTTP/2 Is Done</title><url>https://www.mnot.net/blog/2015/02/18/http2</url></story><parent_chain><item><author>bgentry</author><text>It&amp;#x27;s time to begin the long process of unwinding all the hacks that we&amp;#x27;ve built to make HTTP&amp;#x2F;1.1 fast. No more concatenation of static assets, no more domain sharding.&lt;p&gt;The future looks more like this, as the default, with no special effort required: &lt;a href=&quot;https://http2.golang.org/gophertiles&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;http2.golang.org&amp;#x2F;gophertiles&lt;/a&gt;&lt;p&gt;May nobody else have to suffer through writing an interoperable HTTP&amp;#x2F;1.1 parser!</text></item></parent_chain><comment><author>byuu</author><text>&amp;gt; May nobody else have to suffer through writing an interoperable HTTP&amp;#x2F;1.1 parser!&lt;p&gt;Yes, now it&amp;#x27;ll be much easier than parsing plain-text. Now they just have to write a TLS stack (several key exchange algorithms; block ciphers; stream ciphers; and data integrity algorithms); then implement the new HPACK compression; then finally a new parser for the HTTP&amp;#x2F;2 headers themselves.&lt;p&gt;Now instead of taking maybe one day to write an HTTP&amp;#x2F;1.1 server, it&amp;#x27;ll only take a single engineer several years to write an HTTP&amp;#x2F;2 server (and one mistake will undermine all of its attempts at security.)&lt;p&gt;If you are going to say, &amp;quot;well use someone else&amp;#x27;s TLS&amp;#x2F;HPACK&amp;#x2F;etc library!&amp;quot;, then I&amp;#x27;ll say the same, &amp;quot;use someone else&amp;#x27;s HTTP&amp;#x2F;1.1 header parsing library!&amp;quot;&lt;p&gt;HTTP&amp;#x2F;2 may turn out to be great for a lot of things. But making things easier&amp;#x2F;simpler to program is certainly not one of them. This is a massive step back in terms of simplicity.</text></comment>
<story><title>HTTP/2 Is Done</title><url>https://www.mnot.net/blog/2015/02/18/http2</url></story><parent_chain><item><author>bgentry</author><text>It&amp;#x27;s time to begin the long process of unwinding all the hacks that we&amp;#x27;ve built to make HTTP&amp;#x2F;1.1 fast. No more concatenation of static assets, no more domain sharding.&lt;p&gt;The future looks more like this, as the default, with no special effort required: &lt;a href=&quot;https://http2.golang.org/gophertiles&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;http2.golang.org&amp;#x2F;gophertiles&lt;/a&gt;&lt;p&gt;May nobody else have to suffer through writing an interoperable HTTP&amp;#x2F;1.1 parser!</text></item></parent_chain><comment><author>derefr</author><text>The real problem, I think, will be moving to &amp;quot;idiomatic&amp;quot; HTTP2-centric design (lots of little resources, relying on parallel chunked delivery and server-suggested retrieval) while still keeping HTTP&amp;#x2F;1.1 clients fast.&lt;p&gt;I&amp;#x27;m betting there will come a polyfill to make HTTP&amp;#x2F;2 servers able to deliver content to HTTP&amp;#x2F;1.1-but-HTML5 web browsers in an HTTP&amp;#x2F;2-idiomatic way—perhaps, for example, delivering the originally-requested page over HTTP&amp;#x2F;1.1 but having everything else delivered in HTTP2-ish chunks over a websocket.</text></comment>