Mikhail Shcherbakov edited this page Apr 1, 2018 · 22 revisions

This is a listing of tools for analysing, debugging and visualising HTTP/2. See also the Implementations listing.

  • Curl supports HTTP/21 as of 7.43.0. See its documentation for details (including prerequisites).
  • h2i is a command-line interactive client that lets you send H2 frames, translate H1 to H2, and generally figure out how the protocol works.
  • h2load is a benchmarking / load generation tool for HTTP/2 and SPDY.
  • nghttp is a non-interactive command line HTTP/2 client that has plenty of debugging options, such as changing flow control window, dumping frames, HTTP Upgrade etc.
  • nghttpd is a simple static file HTTP/2 server that is very handy to debug client side implementations.
  • mitmproxy is an interactive console program that allows traffic flows to be intercepted, inspected, modified and replayed. Can be used programmatically (Python).
  • is-http2 lets you quickly find out if a host supports H2 from the command line.
  • jmeter Jmeter HTTP/2 sampler via - Netty 5 and netty-tcnative & hpack
  • jmeter JMeter HTTP/2 Request sampler and View Result Tree Http2 listener plugin installable with JMeter Plugins Manager
  • HTTP/2 Test is an online tool to check if a website supports HTTP/2.
  • HTTP2.Pro is an online tool to check HTTP/2, ALPN, and Push support of web sites.
  • Wireshark has a HTTP/2 decoder2.
  • h2c - A Simple HTTP/2 Command-Line Client
  • h2spec - Conformance testing tool for HTTP/2 implementations
  • http2fuzz is a semi-intelligent fuzzer for HTTP/2.
  • WProf extracts dependencies of activities during a page load, to identify bottlenecks.
  • LoadRunner emulates HTTP/2 browsers (but not server push) to generate artificial load on servers as an enterprise-grade framework with GUI analytics.
  • Vegeta OS load tool that supports h2 through Go's (>= 1.6) net/http API
  • HTTP/1 vs HTTP/2 speed test an online tool to test and compare speed of HTTP/2-ready websites, via HTTP/2 versus via HTTP/1 (disabling h2 support in Chrome)

1 Curl is strictly an implementation, but it's listed here because many people use it as a tool.

2 Note that to use it on TLS-protected connections, you'll need to do NSS Keylogging. See also the Wireshark SSL/TLS docs.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.