[ 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-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 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. * Add settings related to HTTP/2 into records.config. was: 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. > 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: draft11.patch, http2-0001.patch > > > 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 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. > * Add settings related to HTTP/2 into records.config. -- This message was sent by Atlassian JIRA (v6.2#6252)