You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by Leif Hedstrom <zw...@apache.org> on 2015/07/31 01:22:19 UTC
H2 "command line" tool
This is pretty darn useful for developing / testing H2:
https://github.com/bradfitz/http2/tree/master/h2i <https://github.com/bradfitz/http2/tree/master/h2i>
Install it with e.g.
go get github.com/bradfitz/http2/h2i <http://github.com/bradfitz/http2/h2i>
Cheers,
— leif
Example:
odin (17:21) 948/1 $ ~/gocode/bin/h2i docs.trafficserver.apache.org
Connecting to docs.trafficserver.apache.org:443 ...
Connected to 104.239.143.16:443
Negotiated protocol "h2"
[FrameHeader SETTINGS len=36]
[HEADER_TABLE_SIZE = 4096]
[ENABLE_PUSH = 0]
[MAX_CONCURRENT_STREAMS = 100]
[INITIAL_WINDOW_SIZE = 1048576]
[MAX_FRAME_SIZE = 16384]
[MAX_HEADER_LIST_SIZE = 4294967295]
[FrameHeader WINDOW_UPDATE len=4]
Window-Increment = 983041
h2i> headers
(as HTTP/1.1)> GET /en/latest/ HTTP/1.1
(as HTTP/1.1)> Host: docs.trafficserver.apache.org
(as HTTP/1.1)>
Opening Stream-ID 1:
:authority = docs.trafficserver.apache.org
:method = GET
:path = /en/latest/
:scheme = https
[FrameHeader HEADERS flags=END_HEADERS stream=1 len=388]
:status = "200" (SENSITIVE)
:status = "200"
server = "ATS/6.0.0"
date = "Thu, 30 Jul 2015 23:21:27 GMT"
content-type = "text/html"
content-length = "188027"
last-modified = "Thu, 30 Jul 2015 20:32:08 GMT"
vary = "Accept-Encoding"
etag = "\"55ba89c8-2de7b\""
x-served = "Nginx"
x-subdomain-tryfiles = "True"
x-deity = "web03"
accept-ranges = "bytes"
age = "21"
strict-transport-security = "max-age=86400"
via = "https/1.1 ATS (ApacheTrafficServer/6.0.0 [cHs f ])"
[FrameHeader DATA stream=1 len=8183]
Re: H2 "command line" tool
Posted by Masaori Koshiba <mk...@yahoo-corp.jp>.
Hi,
I agree with "h2i" is useful command line tool.
And I recommend "h2spec" too.
It is testing tool for HTTP/2 and build on same library of "h2i".
# h2spec
https://github.com/summerwind/h2spec
## Install
https://github.com/summerwind/h2spec/releases
Testing ATS by h2spec, there are a lot of work to do.
Thanks,
Masaori
> 2015/07/31 8:36、Jason <ja...@gmail.com> のメール:
>
> You sir just found a gem. Thanks for sharing!
>
> On Thu, Jul 30, 2015 at 7:22 PM, Leif Hedstrom <zw...@apache.org> wrote:
>
>> This is pretty darn useful for developing / testing H2:
>>
>> https://github.com/bradfitz/http2/tree/master/h2i <
>> https://github.com/bradfitz/http2/tree/master/h2i>
>>
>>
>>
>> Install it with e.g.
>>
>> go get github.com/bradfitz/http2/h2i <
>> http://github.com/bradfitz/http2/h2i>
>>
>>
>> Cheers,
>>
>> — leif
>>
>> Example:
>>
>> odin (17:21) 948/1 $ ~/gocode/bin/h2i docs.trafficserver.apache.org
>> Connecting to docs.trafficserver.apache.org:443 ...
>> Connected to 104.239.143.16:443
>> Negotiated protocol "h2"
>> [FrameHeader SETTINGS len=36]
>> [HEADER_TABLE_SIZE = 4096]
>> [ENABLE_PUSH = 0]
>> [MAX_CONCURRENT_STREAMS = 100]
>> [INITIAL_WINDOW_SIZE = 1048576]
>> [MAX_FRAME_SIZE = 16384]
>> [MAX_HEADER_LIST_SIZE = 4294967295]
>> [FrameHeader WINDOW_UPDATE len=4]
>> Window-Increment = 983041
>>
>> h2i> headers
>> (as HTTP/1.1)> GET /en/latest/ HTTP/1.1
>> (as HTTP/1.1)> Host: docs.trafficserver.apache.org
>> (as HTTP/1.1)>
>> Opening Stream-ID 1:
>> :authority = docs.trafficserver.apache.org
>> :method = GET
>> :path = /en/latest/
>> :scheme = https
>> [FrameHeader HEADERS flags=END_HEADERS stream=1 len=388]
>> :status = "200" (SENSITIVE)
>> :status = "200"
>> server = "ATS/6.0.0"
>> date = "Thu, 30 Jul 2015 23:21:27 GMT"
>> content-type = "text/html"
>> content-length = "188027"
>> last-modified = "Thu, 30 Jul 2015 20:32:08 GMT"
>> vary = "Accept-Encoding"
>> etag = "\"55ba89c8-2de7b\""
>> x-served = "Nginx"
>> x-subdomain-tryfiles = "True"
>> x-deity = "web03"
>> accept-ranges = "bytes"
>> age = "21"
>> strict-transport-security = "max-age=86400"
>> via = "https/1.1 ATS (ApacheTrafficServer/6.0.0 [cHs f ])"
>> [FrameHeader DATA stream=1 len=8183]
Re: H2 "command line" tool
Posted by Jason <ja...@gmail.com>.
You sir just found a gem. Thanks for sharing!
On Thu, Jul 30, 2015 at 7:22 PM, Leif Hedstrom <zw...@apache.org> wrote:
> This is pretty darn useful for developing / testing H2:
>
> https://github.com/bradfitz/http2/tree/master/h2i <
> https://github.com/bradfitz/http2/tree/master/h2i>
>
>
>
> Install it with e.g.
>
> go get github.com/bradfitz/http2/h2i <
> http://github.com/bradfitz/http2/h2i>
>
>
> Cheers,
>
> — leif
>
> Example:
>
> odin (17:21) 948/1 $ ~/gocode/bin/h2i docs.trafficserver.apache.org
> Connecting to docs.trafficserver.apache.org:443 ...
> Connected to 104.239.143.16:443
> Negotiated protocol "h2"
> [FrameHeader SETTINGS len=36]
> [HEADER_TABLE_SIZE = 4096]
> [ENABLE_PUSH = 0]
> [MAX_CONCURRENT_STREAMS = 100]
> [INITIAL_WINDOW_SIZE = 1048576]
> [MAX_FRAME_SIZE = 16384]
> [MAX_HEADER_LIST_SIZE = 4294967295]
> [FrameHeader WINDOW_UPDATE len=4]
> Window-Increment = 983041
>
> h2i> headers
> (as HTTP/1.1)> GET /en/latest/ HTTP/1.1
> (as HTTP/1.1)> Host: docs.trafficserver.apache.org
> (as HTTP/1.1)>
> Opening Stream-ID 1:
> :authority = docs.trafficserver.apache.org
> :method = GET
> :path = /en/latest/
> :scheme = https
> [FrameHeader HEADERS flags=END_HEADERS stream=1 len=388]
> :status = "200" (SENSITIVE)
> :status = "200"
> server = "ATS/6.0.0"
> date = "Thu, 30 Jul 2015 23:21:27 GMT"
> content-type = "text/html"
> content-length = "188027"
> last-modified = "Thu, 30 Jul 2015 20:32:08 GMT"
> vary = "Accept-Encoding"
> etag = "\"55ba89c8-2de7b\""
> x-served = "Nginx"
> x-subdomain-tryfiles = "True"
> x-deity = "web03"
> accept-ranges = "bytes"
> age = "21"
> strict-transport-security = "max-age=86400"
> via = "https/1.1 ATS (ApacheTrafficServer/6.0.0 [cHs f ])"
> [FrameHeader DATA stream=1 len=8183]