[ https://issues.apache.org/jira/browse/TS-2729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14029348#comment-14029348 ]
Ryo Okubo commented on TS-2729: ------------------------------- Hi, James I want to see your solution and patches that supports HTTP/2. I'll help in order to make better HTTP/2 implementation. By the way, what do you think about current SPDY implementation that depends on spdylay? If we decide to create HTTP/2 implementation without external libraries, I think we should rethink its dependency because HTTP/2 and SPDY have a lot of similar parts. > 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)