GithubHelp home page GithubHelp logo

spdy-specification's Issues

Header compression breaks 'atomicity' of streams

I just want to inform of an issue I ran into while working with SPDY for the backend.
It's not really possible to queue SPDY requests using ZeroMQ (or similar), because the zlib session used for header compression makes streams depend on the state of the entire connection. That is, if requests (as SYN_STREAMs) are dispatched to multiple backend servers, header compression fails because each of the backend processes has it's own zlib session (and the session is stateful). This means that frontends cannot really multiplex the answers of the backend to a single socket, as each connection would require it's own zlib session.

Now, one way to resolve this would be to declare that SPDY is strictly meant for point-to-point communication.
Or, header compression could be made optional to make SPDY compatible with this use case.

frame size / field lengths

Hi,
it looks that frame size is limited to 16,777,215 bytes (24bits), but the lengths of various fields within frame (number of name/value pairs, name length, value length) can be up to 4,294,967,295 bytes (32bits) in size, which doesn't really make sense (even if you account for compression).

More precisely, I see the maximum frame size as unnecessary restriction put in place for no good reason, especially when you consider frontend<>backend communications with buffering frontend. How about changing the frame size to 32bits or even 40bits?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.