[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-wget] [GSoC 2015] Basic HTTP/2 support
From: |
Daniel Stenberg |
Subject: |
Re: [Bug-wget] [GSoC 2015] Basic HTTP/2 support |
Date: |
Thu, 30 Apr 2015 17:41:48 +0200 (CEST) |
User-agent: |
Alpine 2.11 (DEB 23 2013-08-11) |
On Thu, 30 Apr 2015, Miquel Llobet wrote:
I'm glad to see this project come to life, and I'm happy to see you chosing
to base it on Tatsuhiro's awesome nghttp2 library. We do this in the curl
project too.
I blame Giuseppe for suggesting it :-), and nghttp2 looks really good, can't
wait to dive into it this summer! What challenges did you face when
implementing HTTP/2 in curl? I would love to hear about that.
It's been a long journey for us that began long before the protocol settled,
and nghttp2 has also been a moving target along the way. So I'm not sure what
good lessons i have from this that are actually transferable to your project.
Some quick things I came to think about:
HTTP/2 over plain text is annoying with the Upgrade: and wasted RTT, it is
much easier and simpler over HTTPS and ALPN.
The fact that OpenSSL doesn't support ALPN until 1.0.2 is also annoying since
it is still not present in lots of distros. ALPN is however getting
implemented in many TLS libraries now so things are looking good.
You should probably consider to make a translation layer from HTTP/2 headers
to HTTP/1 and back, so that all the header parsing and request generation etc
can remain pretty much as-is. That's what we do in curl and that's how Firefox
does it internally.
--
/ daniel.haxx.se