[ 
https://issues.apache.org/jira/browse/TS-2729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ryo OKUBO updated TS-2729:
--------------------------

    Description: 
h2. Overview

We, CDN team of Yahoo! JAPAN, have implemented HTTP/2 support in ATS core 
experimentally.
Now, it supports HTTP/2 draft-12.
http://tools.ietf.org/html/draft-ietf-httpbis-http2-12

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 NPN and ALPN 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-12- and later.
* -Support ALPN.-
* Add settings related to HTTP/2 into records.config.
** it'll refer to configuration settings for SPDY on TS-2740

  was:
h2. Overview

We, CDN team of Yahoo! JAPAN, have implemented HTTP/2 support in ATS core 
experimentally.
Now, it supports HTTP/2 draft-12.
http://tools.ietf.org/html/draft-ietf-httpbis-http2-12

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 NPN and ALPN 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-12- and later.
* -Support ALPN.-
* Add settings related to HTTP/2 into records.config.
** it'll refer to configuration settings for SPDY on TS-2740


> 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
>          Components: HTTP/2
>            Reporter: Ryo OKUBO
>              Labels: review
>             Fix For: 5.0.0
>
>         Attachments: cleanuped-0002.patch, draft11.patch, draft12.patch, 
> fix-handling-version-string.patch, http2-0001.patch, http2-0002.patch, 
> ts2743.patch, ts2760.patch
>
>
> h2. Overview
> We, CDN team of Yahoo! JAPAN, have implemented HTTP/2 support in ATS core 
> experimentally.
> Now, it supports HTTP/2 draft-12.
> http://tools.ietf.org/html/draft-ietf-httpbis-http2-12
> 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 NPN and ALPN 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-12- and later.
> * -Support ALPN.-
> * Add settings related to HTTP/2 into records.config.
> ** it'll refer to configuration settings for SPDY on TS-2740



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to