{"id":4555,"date":"2012-12-01T23:26:58","date_gmt":"2012-12-01T22:26:58","guid":{"rendered":"http:\/\/daniel.haxx.se\/blog\/?p=4555"},"modified":"2013-03-23T19:14:27","modified_gmt":"2013-03-23T18:14:27","slug":"http2-spdy-and-spindly-right-now","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2012\/12\/01\/http2-spdy-and-spindly-right-now\/","title":{"rendered":"HTTP2, SPDY and spindly right now"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-3228\" title=\"SPDY\" src=\"http:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2011\/09\/spdy.png\" alt=\"SPDY\" width=\"277\" height=\"82\" srcset=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2011\/09\/spdy.png 346w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2011\/09\/spdy-150x44.png 150w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2011\/09\/spdy-300x89.png 300w\" sizes=\"auto, (max-width: 277px) 100vw, 277px\" \/>On November 28, the HTTPbis group within the IETF published the <a href=\"http:\/\/tools.ietf.org\/html\/draft-ietf-httpbis-http2-00\">first draft for the upcoming HTTP2<\/a> protocol.\u00c2\u00a0What is being posted now is a start and a foundation for further discussions and changes. It is basically an import of the <a href=\"http:\/\/www.chromium.org\/spdy\/spdy-protocol\/spdy-protocol-draft3\">SPDY version 3<\/a> protocol draft.<\/p>\n<p>There&#8217;s been a lot of resistance within the HTTPbis to the mandated TLS that SPDY has been promoting so far and it seems unlikely to reach a consensus as-is. There&#8217;s also been a lot of discussion and debate over the compression SPDY uses. Not only because of the pre-populated dictionary that <a href=\"http:\/\/lists.w3.org\/Archives\/Public\/ietf-http-wg\/2012OctDec\/0450.html\">might already be a little out of date<\/a> or the fact that gzip compression consumes a notable amount of memory per stream, but also recently the\u00c2\u00a0security\u00c2\u00a0aspect to compression thanks to the <a href=\"http:\/\/en.wikipedia.org\/wiki\/CRIME_(security_exploit)\">CRIME attack<\/a>.<\/p>\n<p>Meanwhile, the discussions on the <a href=\"https:\/\/groups.google.com\/forum\/#!forum\/spdy-dev\">spdy development list<\/a> have brought up several changes to the version 3 that are suggested and planned to become part of the version 4 that is work in progress. Including a <a href=\"http:\/\/lists.w3.org\/Archives\/Public\/ietf-http-wg\/2012OctDec\/0449.html\">new compression algorithm<\/a>, <a href=\"https:\/\/groups.google.com\/d\/topic\/spdy-dev\/nDtMg5lo_7E\/discussion\">shorter length fields<\/a> (now 16bit) and more. Recently discussions have brought up a need for better flexibility when it comes to prioritization and especially changing prio run-time. For like when browser users switch tabs or simply scroll down the page and you rather have the images you have in sight to load before the images you no longer have in view&#8230;<\/p>\n<p>I started my work on <a href=\"http:\/\/spindly.haxx.se\/\">Spindly<\/a> a little over a year ago to build a stand-alone library, primarily intended for <a href=\"http:\/\/curl.haxx.se\/libcurl\/\">libcurl<\/a> so that we could soon offer SPDY downloads for it. We&#8217;re still only on SPDY protocol 2 there and I&#8217;ve failed to attract any fellow developers to the project and my own lack of time has basically made the project not evolve the way I wanted it to. I haven&#8217;t given up on it though. I hope to be able to get back to it eventually, very much also\u00c2\u00a0depending on how the HTTPbis talk goes. I certainly am determined to have libcurl be part of the upcoming HTTP2 experiments (even if that is not happening very soon) and spindly might very well be the infrastructure that powers libcurl then.<\/p>\n<p>We&#8217;ll see&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On November 28, the HTTPbis group within the IETF published the first draft for the upcoming HTTP2 protocol.\u00c2\u00a0What is being posted now is a start and a foundation for further discussions and changes. It is basically an import of the SPDY version 3 protocol draft. There&#8217;s been a lot of resistance within the HTTPbis to &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2012\/12\/01\/http2-spdy-and-spindly-right-now\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">HTTP2, SPDY and spindly right now<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,45],"tags":[33,230,369,353,249,294,331],"class_list":["post-4555","post","type-post","status-publish","format-standard","hentry","category-curl","category-web","tag-curl-and-libcurl","tag-http","tag-http2","tag-httpbis","tag-ietf","tag-spdy","tag-spindly"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/4555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=4555"}],"version-history":[{"count":14,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/4555\/revisions"}],"predecessor-version":[{"id":4568,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/4555\/revisions\/4568"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=4555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=4555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=4555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}