SPDY: what is the purpose of blocked frame

Valentin V. Bartenev vbart at nginx.com
Tue Jun 25 16:31:45 UTC 2013

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

More information about the nginx-devel mailing list