You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Ryo Okubo (JIRA)" <ji...@apache.org> on 2014/11/28 08:38:12 UTC
[jira] [Comment Edited] (TS-2729) Add HTTP/2 support to ATS
[ https://issues.apache.org/jira/browse/TS-2729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14228071#comment-14228071 ]
Ryo Okubo edited comment on TS-2729 at 11/28/14 7:37 AM:
---------------------------------------------------------
This patch enables to upgrade from HTTP/1 processes to HTTP/2 by using [upgrade mechanism|https://tools.ietf.org/html/draft-ietf-httpbis-http2-15#section-3.2].
We can test it by nghttp2 with _--upgrade_ option.
{noformat}
$ nghttp --verbose --upgrade http://localhost:8080/
[ 0.006] HTTP Upgrade request
GET / HTTP/1.1
Host: localhost:8080
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c-14
HTTP2-Settings: AAMAAABkAAQAAP__
Accept: */*
User-Agent: nghttp2/0.6.1
[ 0.007] HTTP Upgrade response
HTTP/1.1 101 Switching Protocols
Date: Fri, 28 Nov 2014 07:31:06 GMT
Connection: Upgrade
Server: ATS/5.3.0
Upgrade: h2c-14
[ 0.007] HTTP Upgrade success
[ 0.007] send SETTINGS frame <length=12, flags=0x00, stream_id=0>
(niv=2)
[SETTINGS_MAX_CONCURRENT_STREAMS(0x03):100]
[SETTINGS_INITIAL_WINDOW_SIZE(0x04):65535]
[ 0.008] recv SETTINGS frame <length=0, flags=0x00, stream_id=0>
(niv=0)
[ 0.008] send SETTINGS frame <length=0, flags=0x01, stream_id=0>
; ACK
(niv=0)
[ 0.008] recv SETTINGS frame <length=0, flags=0x01, stream_id=0>
; ACK
(niv=0)
{noformat}
Processes after upgrading haven't been implemented yet.
was (Author: rokubo):
This patch enables to upgrade from HTTP/1 processes to HTTP/2 by using [upgrade mechanism|https://tools.ietf.org/html/draft-ietf-httpbis-http2-15#section-3.2].
> 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, fix_typo.patch, h2-14.patch, h2_prototype.patch, h2c_upgrade.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
> # Build ATS codes normally. you need neither any build option nor external HTTP/2 library.
> # Configure settings to use https.
> # Access to ATS by HTTP/2 client.
> h2. Descriptions of current attached patches.
> * h2_prototype.patch
> ** For experiment. Please don't merge it. It enables to interpret HTTP/2 requests and respond for it. But now this code is unsafe and dirty. More refactoring is required.
> h2. WIP
> * Improve h2_prototype
> * Implement hpack test tools
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)