wondering what the status of http://www.chromium.org/spdy/spdy-proxy is? A continuation of the work we've been doing with Binoy would benefit if a SPDY proxy were available. Is anyone working on this?
Thanks,
Lars
[ +rch ]Yes, Ryan is working on this.
Regarding the http://www.chromium.org/spdy/spdy-proxy - what is the
reasoning behind tunneling SSL through SPDY? It looks like an
additional overhead without any added benefits. Should several SSL
streams be tunnelled through one SPDY session?
And regarding putting such a proxy before your website - I think that
the current chrome doesn't yet support Alternate-Protocol: XXX:spdy/2
--Roman
I'm curious...
Regarding the http://www.chromium.org/spdy/spdy-proxy - what is the
reasoning behind tunneling SSL through SPDY? It looks like an
additional overhead without any added benefits. Should several SSL
streams be tunnelled through one SPDY session?
And regarding putting such a proxy before your website - I think that
the current chrome doesn't yet support Alternate-Protocol: XXX:spdy/2
On 2010-9-28, at 21:14, Ryan Hamilton wrote:
> Yes, work is proceeding on the SPDY Proxy proxy. The most visible public effort at the moment is adding support in Chromium for talking to a SPDY (aka HTTPS proxy). You can follow the progress in this issue in the Chromium bug system.
great, thanks!
> On the server side, we have added support in the open source Apache module mod_spdy so that when used in conjunction with mod_proxy, Apache can act as a SPDY Proxy.
I think I dimly remember that Binoy mentioned that the SPDY version in mod_spdy was older or otherwise less capable than the one in flip. Has this changed (or am I misremembering?) We'd obviously be mostly interested in testing the most recent SPDY flavor.
> In addition, I have implemented a stand-alone SPDY proxy based on the flip in-memory server code base, and just need to commit it to the Chromium tree.
Great, I think that'd be the best basis for our testing. We'll check it out when it's available.
Thanks,
Lars
Currently the main drawback to mod_spdy is that it doesn't yet support
true multiplexing. Since apache is designed to process one request per
connection at a time, we currently build a queue of incoming requests
and process them serially, one at a time. This can be sub-optimal in
that a request at the head of the queue can block processing of
requests deeper in the queue. If you are ok with the current queuing
behavior then mod_spdy should work just fine for you once we sync with
Chrome 6, but it's important to keep the queuing limitation in mind
when doing performance testing.
Matthew, who was working on mod_spdy, wrote up a nice document
describing our proposal to add multiplex support in mod_spdy. It's
somewhat difficult but not impossible to get this working in apache.
You can read more about it here:
http://code.google.com/p/mod-spdy/wiki/MultiplexIdeas
We welcome code contributions if you are interested in contributing to
mod_spdy. We just ask that contributors share their ideas first so we
can discuss them, before sending the finished code out for review.
Thanks!
-Bryan
Then I believe that I'm missing something.
I did a simple test with the sample Rack (http://rack.rubyforge.org/)
application pasted below, it just returns the Alternate-Protocol,
Content-Type and Content-Length. The Chrome 6.0.472.63 doesn't attempt
to connect to the specified port on first access, neither when the
link is followed.
I looked into Chromium sources once, and I think that only npn-spdy
was supported at that time, but not other forms which are specified
here:
http://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2#TOC-Server-Advertisement-of-SPDY-throug
--- cut here ---
use Rack::ContentLength
headers = {
'Content-Type' => 'text/html',
'Alternate-Protocol' => '10040:spdy/2'
}
body = <<EOF
<html>
<head><title>test</title>
</head>
<body>
<a href='/hello'>Hello world!</a>
</body>
</html>
EOF
app = lambda { |env| [200, headers, body] }
run app
--- cut here ---
--Roman
>> And regarding putting such a proxy before your website - I think that
>> the current chrome doesn't yet support Alternate-Protocol: XXX:spdy/2
>
> It does.