I have a (mostly working, neglected) implementation of SPDYv2 in erlang (github.com/RJ/erlang-spdy). I've been following the mailing list about the v3 spec. Notable differences if you are updating a spdy library:<p>* various fields changed size<p>* compression dictionary [1] for headers block updated<p>* a few things clarified where spec was ambiguous<p>* CREDENTIAL frame, so multiple ssl certs can be used on one connection<p>* addition of per-stream flow control<p>The last two are probably the most work for implementers.<p>[1] Compression dictionary for header block:
* Paper: <a href="http://www.eecis.udel.edu/~amer/PEL/poc/pdf/SPDY-Fan.pdf" rel="nofollow">http://www.eecis.udel.edu/~amer/PEL/poc/pdf/SPDY-Fan.pdf</a>
* The Dictionary: <a href="http://www.cis.udel.edu/~amer/PEL/SPDY/SPDY-proposed-initial-zlib-dictionary.txt" rel="nofollow">http://www.cis.udel.edu/~amer/PEL/SPDY/SPDY-proposed-initial...</a>
Still has a prefix dictionary. The benefit of the prefix dictionary over starting from scratch is extremely marginal (about a hundred bytes on the first request).<p>Still making claims comparing to HTTP without pipelining. After how long they still haven't even compared to pipelining (because Chrome doesn't do pipelining, is Firefox is banned at Google or something?)<p>Still has server push. Read the spec at how complicated this is, all to save one one-way trip.<p>Still hardcodes parts of HTTP into the protocol.<p>...gross.