[ 
https://issues.apache.org/jira/browse/TS-2729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14029758#comment-14029758
 ] 

Bryan Call commented on TS-2729:
--------------------------------

We should do a round of benchmarks comparing SPDY (SSL and non-SSL) vs HTTP and 
HTTPS.  I would like to see how much of an overhead there is.

The reason to pull it into core would be for efficiency reasons and having more 
control over the protocol including where to hook into it.

SPDY for time constraints (had to get something working in Q2 for business 
reasons) and longevity of the protocol (will become obsolete when HTTP/2 is 
finalized) was allowed to use an external library and this was a conscious 
decision.



> 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.1.0
>
>         Attachments: draft11.patch, fix-handling-version-string.patch, 
> http2-0002.patch, http2-0004.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