[ 
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

Support HTTP/2 as a client side L7 protocol. This feature is implemented into 
ATS core.
Now, it supports the latest HTTP/2 draft version, h2-14.
https://tools.ietf.org/html/draft-ietf-httpbis-http2-14


h2. How to test

1. Build ATS codes normally. you need neither any build option nor external 
HTTP/2 library.

2. Configure settings to use https.

3. Access to ATS by HTTP/2 client.


h2. Descriptions of current attached patches.

* 

  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


* 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
>            Assignee: James Peach
>              Labels: review
>             Fix For: 6.0.0
>
>         Attachments: add_const.patch, h2-14.patch, h2_prototype.patch, 
> hpack.patch, http2-0004.patch
>
>
> h2. Overview
> Support HTTP/2 as a client side L7 protocol. This feature is implemented into 
> ATS core.
> Now, it supports the latest HTTP/2 draft version, h2-14.
> https://tools.ietf.org/html/draft-ietf-httpbis-http2-14
> h2. How to test
> 1. Build ATS codes normally. you need neither any build option nor external 
> HTTP/2 library.
> 2. Configure settings to use https.
> 3. Access to ATS by HTTP/2 client.
> h2. Descriptions of current attached patches.
> * 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to