cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: HTTP2 and SPDY

From: Tatsuhiro Tsujikawa <tatsuhiro.t_at_gmail.com>
Date: Wed, 29 Jan 2014 23:14:24 +0900

On Wed, Jan 29, 2014 at 9:53 AM, Fabian Frank <fabian.frank.de_at_gmail.com>wrote:

>
> On Jan 28, 2014, at 2:24 PM, Daniel Stenberg <daniel_at_haxx.se> wrote:
>
> > On Sat, 25 Jan 2014, Fabian Frank wrote:
> >
> >> most importantly, where help and contribution is needed.
> >
> > If you really want to help out with http2, then an obvious area would be
> to work on ALPN and making sure that we start offering http2 for https://URLs. We don't have anything of that in place yet.
> Thanks for pointing that out. According to
> https://github.com/tatsuhiro-t/nghttp2:
> ALPN support requires unreleased version OpenSSL >= 1.0.2.
>
> I was trying to get OpenSSL 1.0.2 from ftp://ftp.openssl.org/snapshot/ to
> work on the weekend, but didn't have much luck on my Ubuntu host yet. I
> finally had the time to sort that out today and it's working now. I'll
> apply your patches and start looking into ALPN.
>
>
Good to see that the http2 patch is landed on master branch.

As for ALPN, we have to wait for OpenSSL v1.0.2 release or hack its beta.
My personal feeling is that starting to work with NPN is also not so bad at
this moment.
This is because the current biggest HTTP2 draft public server is twitter
and they
offer NPN, not ALPN. Secondly, OpenSSL's NPN and ALPN interfaces are very
easy to implement. See nghttp2 sample code in
http://tatsuhiro-t.github.io/nghttp2/tutorial-client.html
Thirdly, most Linux distribution offers NPN enabled OpenSSL (1.0.1)
nowadays.
But I don't object to start with ALPN since it is the official extension.

I recently made several changes to nghttp2 API to support CONTINUATION
frames and
now it is settled (oh, since draft-10 introduces relatively big changes,
API change again, sorry but http2 is fast moving target). The above
mentioned link has the very simple client code to use
nghttp2 in C. It uses libevent for the sake of simplicity, but I think that
replacing it with
pure tcp socket is not so hard task.

Feel free to raise the issue at nghttp2 project page.

Best regards,
Tatsuhiro Tsujikawa

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2014-01-29