A tool to test the support of http2 features
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
includes/nghttp2
Makefile
README.md
config.cc
config.hh
h2scope.cc
h2scope.hh
nghttp2_buf.c
nghttp2_buf.h
nghttp2_callbacks.c
nghttp2_callbacks.h
nghttp2_frame.c
nghttp2_frame.h
nghttp2_hd.c
nghttp2_hd.h
nghttp2_hd_huffman.c
nghttp2_hd_huffman.h
nghttp2_hd_huffman_data.c
nghttp2_helper.c
nghttp2_helper.h
nghttp2_http.c
nghttp2_http.h
nghttp2_int.h
nghttp2_map.c
nghttp2_map.h
nghttp2_mem.c
nghttp2_mem.h
nghttp2_net.h
nghttp2_npn.c
nghttp2_npn.h
nghttp2_option.c
nghttp2_option.h
nghttp2_outbound_item.c
nghttp2_outbound_item.h
nghttp2_pq.c
nghttp2_pq.h
nghttp2_priority_spec.c
nghttp2_priority_spec.h
nghttp2_queue.c
nghttp2_queue.h
nghttp2_rcbuf.c
nghttp2_rcbuf.h
nghttp2_session.c
nghttp2_session.h
nghttp2_stream.c
nghttp2_stream.h
nghttp2_submit.c
nghttp2_submit.h
nghttp2_version.c

README.md

H2Scope

H2scope is a tool to test the features of HTTP/2 protocol

  • Basic Support (NPN/ALPN)
  • Multiplexing
  • Flow Control
  • Priority Mechanism
  • HPACK
  • HTTP/2 Ping

Installation

H2Scope use nghttp2 as the core library So the required packages are similar to what nghttp2 needs

Install the dependencies and devDependencies and start the server.

The following command can install all the required packets if you are using Ubuntu 14.04LTS

sudo apt-get install g++ make binutils autoconf automake autotools-dev libtool pkg-config \
  zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libev-dev libevent-dev libjansson-dev \
  libc-ares-dev libjemalloc-dev libsystemd-dev libspdylay-dev \
  cython python3-dev python-setuptools libmysqlclient libmysqlclient-dev

Clone this repo and compile

$ https://github.com/valour01/H2Scope
$ cd H2Scope
$ make

Tool named h2scope will be installed in the H2Scope directory. Try to type ./h2scope -h for help information

If you use this code, please cite the following paper. Thanks!

Muhui Jiang, Xiapu Luo, Tungngai Miu, Shengtuo Hu and Weixiong Rao,
“Are HTTP/2 Servers Ready Yet?”, Proc. of 37th IEEE International Conference on Distributed Computing Systems (ICDCS), Atlanta, USA, June 2017.
@inproceedings{JiangICDCS17,
 author = {Muhui Jiang and Xiapu Luo and Tungngai Miu and Shengtuo Hu and Weixiong Rao},
 title = {Are HTTP/2 Servers Ready Yet?},
 booktitle = {Proc. IEEE ICDCS},
 year = {2017},
}