On Tuesday 25 June 2013 12:51:17 Yury Kirpichev wrote:
Hi Nginx Developers,
Could someone explain what is the purpose to use blocked frame for SYN_REPLY frame in spdy implementation?
According to our investigation it makes it impossible to use spdy priorities because of blocked frames (since each stream is started with SYN_REPLY which is blocked there is no way how frames from subsequent requests can outrun previous request with lower priority in spdy output queue).
SPDY uses zlib compression for output headers in SYN_REPLY frames. In fact zlib is just a wrapper over deflate compression that consists of LZ77 and Huffman coding.
Both client and server must keep LZ77 window in sync between each other across a whole SPDY session, so the order of SYN_REPLY frames cannot be changed after the compression has done.
There is a way to improve things a bit. We may postpone compression to the latest phase (right before sending of queue), but it requires more code and we have no ETA for this yet.
wbr, Valentin V. Bartenev