Ryo OKUBO created TS-2729:
-----------------------------
Summary: Add HTTP/2 support to ATS
Key: TS-2729
URL: https://issues.apache.org/jira/browse/TS-2729
Project: Traffic Server
Issue Type: New Feature
Reporter: Ryo OKUBO
h2. Overview
We, CDN team of Yahoo! JAPAN, have implemented HTTP/2 support in ATS core
experimentally.
Now, it supports HTTP/2 draft-10.
http://tools.ietf.org/html/draft-ietf-httpbis-http2-10
Our implementation similar to the SPDY implementation in ATS core(TS-2431) but
we use nghttp2 library instead of spdylay to interpret HTTP/2 frames.
https://github.com/tatsuhiro-t/nghttp2
We tested only NPN negotiation.
h2. How to test it
* Install nghttp2 library, here is URL of this library:
https://github.com/tatsuhiro-t/nghttp2
* Use '--enable-http2' option to compile ATS:
{noformat}
$ ./configure --enable-http2
$ make all && make install
{noformat}
* You can use '--with-openssl=<dir>' option.
* Need not configure anything if you just want to test HTTP/2 without SSL.
The code can recognize HTTP2, SPDY or HTTP by reading first to 3rd bytes of
requests.
* You can use nghttp in nghttp2 library(or other HTTP/2 client) to request, for
example:
{noformat}
# HTTP/2 without SSL
$ nghttp -v http://localhost/b.txt
# HTTP/2 + SSL
$ nghttp -v https://localhost/b.txt
{noformat}
h2. TODO
* Cleanup codes.
* Follow http2 draft-11 and later.
* Support ALPN.
* Add settings related to HTTP/2 into records.config.
--
This message was sent by Atlassian JIRA
(v6.2#6252)