Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

To test HTTP/2, check the protocol actually negotiated on a real connection. In a browser, enable the Network panel’s Protocol column and look for h2. From a terminal, confirm that your curl build includes HTTP/2, then run curl --http2 -v https://example.com and look for ALPN selecting h2 followed by an HTTP/2 response. These checks are more reliable than a server setting or an Alt-Svc header because they observe the client, TLS, proxy and edge that served the request.

What a successful HTTP/2 test proves

HTTP/2 is negotiated per connection. A site can use HTTP/2 on one hostname, CDN edge or client while another connection falls back to HTTP/1.1. Redirects, third-party origins, corporate proxies and separate browser connections can therefore produce different protocol labels on the same page.

For HTTPS, the client and server negotiate the h2 Application-Layer Protocol Negotiation (ALPN) identifier during TLS. A successful connection then uses HTTP/2 frames and sends the protocol connection preface. Seeing an HTTP/2 response on the tested connection is the confirmation you want; an advertised capability alone is not.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Fastest check in browser DevTools

  1. Open the page using https://.
  2. Open Developer Tools (usually F12 or Ctrl+Shift+I).
  3. Select Network.
  4. Right-click the request-header row, choose the column picker, and enable Protocol (the exact menu wording varies by browser).
  5. Reload with the Network panel open. Inspect the document request and important same-origin assets.

A value of h2 means that request used HTTP/2. Values such as http/1.1 mean that particular connection did not. Check the document first, then CSS, JavaScript and image requests that matter to your page. A third-party asset can legitimately use a different protocol because it has a different origin or connection.

#1 Best Overall
Klein Tools VDV501-851 Scout Pro 3 Tester Starter Set Cable Tester
  • VERSATILE CABLE TESTING: Cable tester tests voice (RJ11/12), data (RJ45), and video (coax F-connector) terminated cables, providing clear results for comprehensive testing on unenergized Ethernet cables (not designed to test PoE)
  • EXTENDED CABLE LENGTH MEASUREMENT: Measure cable length up to 2000 feet (610 m), allowing for precise cable length determination
  • COMPREHENSIVE FAULT DETECTION: Test for Open, Short, Miswire, or Split-Pair faults, ensuring thorough fault detection and identification
  • BACKLIT LCD DISPLAY: Backlit LCD screen displays cable length, wiremap, cable ID, and test results, ensuring easy readability in various lighting conditions
  • EFFICIENT CABLE TRACING: Trace cables, wire pairs, and individual conductor wires using the multiple style tone generator (requires analog probe Cat. No. VDV500-123, sold separately), simplifying cable tracing tasks

Why one row is not the whole site

  • A redirect may be served by one host and the final page by another.
  • Separate origins open separate connections and can negotiate different protocols.
  • Existing browser connections may be reused; close DevTools, clear the page, or use a fresh private window when validating a change.
  • A VPN, proxy, antivirus filter or enterprise gateway can terminate TLS and create a different protocol hop.

Reproducible command-line test with curl

1. Confirm that curl can speak HTTP/2

Run:

curl -V

Read the Features: line. It must contain HTTP2. If it does not, --http2 cannot work regardless of your server configuration. Install a curl package built with HTTP/2 support or use another current build.

2. Force HTTP/2 negotiation over HTTPS

curl --http2 -v https://example.com

Replace the URL with the exact hostname and path you need to test. In verbose output, the confirming sequence looks like:

* ALPN: server accepted to use h2
* using HTTP/2
> GET / HTTP/2
< HTTP/2 200

The wording differs slightly by curl version, but you should see ALPN acceptance of h2 and an HTTP/2 request or response. Save the output when comparing a direct origin, CDN hostname and public hostname.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

3. Recognize fallback

* ALPN: server did not agree to a protocol
> GET / HTTP/1.1
< HTTP/1.1 200 OK

This proves that this connection used HTTP/1.1. It does not by itself prove that every edge or hostname is misconfigured. Investigate the specific network path, TLS policy, proxy and client build.

Rank #2
NOYAFA NF-8508 Network Cable Tester with Optical Power Meter
  • Multifunctional NOYAFA NF-8508 Network Cable Tester: There are nine features to meet your needs. Continuity Testing, Cable Scan, Port Flash, Length Measurement, POE Power Supply Test, QC testing, Optical Power Meter, VFL and NVC function.It is perfectly suited for various engineering cabling projects, network troubleshooting, network equipment maintenance and testing scenarios. Its precise cable scanning and fault localization capabilities help you effortlessly pinpoint the root cause of issues.
  • 7 WAVELENGTHS OPTICAL POWER METER: NF-8508 network cable tester can measure 7 standard wavelengths, 850/1300/1310/1490/1550/1625/1650, power detecting range(dBm): -70 ~ +10. Its power detection range spans from -70 dBm to +10 dBm, supporting FC/SC/ST connectors. It enables precise fiber optic power measurement, helping users efficiently assess fiber signal strength and ensure healthy fiber link operation. It effortlessly detects attenuation issues within fibers, thereby safeguarding fiber network stability.
  • High Efficiency Visual Fault Locator: Easy identification of fiber breakpoints, poor connections, bending or cracking. Excellent for finding the right fiber to splice or quickly finding a break. Emmiting Energy: standard wavelenth: 650nm. Fast flashing, slow flashing, high precison.The built-in self-calibration ensures stable long-term performance, and Class IIIa laser (output<5mW) ensures safe daily operation.
  • PORT FLASHING:The indicator light on the connection port in the NF-8508 device flashes to help accurately locate the cable. Displays port information, including operating speed, duplex mode, and negotiation settings. Port lights flash on the same screen to show the port's operating speed, making it easy to pinpoint lines and ports.
  • PoE Testing and Cable Length Test: PoE testing can check cable mapping polarity and voltage of PoE network switches, withstand 60VDC. Automatically detects and switches between 10M/100M/1000M modes, Includes cable tracking, short circuit test, interruption of circuit test and etc The RJ45 cable tester can quickly measure the length of the cable with a range of 200m. Not only network cables, but also phone lines and BNC cables.

Useful curl variants

  • curl --http2 -I -v https://example.com tests headers without downloading the body, although some servers treat HEAD differently from GET.
  • curl --http2 https://example.com -o page.html performs a normal download while keeping protocol negotiation enabled.
  • curl --http2-prior-knowledge http://example.com is for cleartext HTTP/2 only when you already know the endpoint supports it. Do not use it as a general HTTPS test.

HTTPS versus cleartext HTTP/2

For https://, HTTP/2 discovery normally occurs through TLS ALPN, using the two-octet protocol identifier h2. For http://, there is no TLS ALPN exchange. A client must have prior knowledge or receive out-of-band information. The older h2c Upgrade mechanism is deprecated by the HTTP/2 standard, so an ordinary cleartext request is not evidence that HTTP/2 is available.

Use an HTTPS URL when checking a public website. If you operate an internal cleartext service, document the expected prior-knowledge behavior and test it with a client explicitly designed for that deployment.

Frame-level diagnosis with nghttp2

When curl shows a fallback or you need proof of SETTINGS, HEADERS and DATA frames, use nghttp2’s nghttp client:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
nghttp -nv https://example.com

The verbose trace exposes the connection preface, negotiated protocol and individual frames. In HTTP/2, each endpoint sends a connection preface to confirm the protocol and establish initial settings; the client preface is 24 octets and begins PRI * HTTP/2.0rnrnSMrnrn. This is diagnostic evidence, not a replacement for testing the browser path your users take.

Rank #3
TESMEN TLP-123A Network Cable Tester for RJ11 RJ45, Ethernet Wire Tool for CAT5/CAT5E/CAT6/CAT6A/CAT7/UTP&STP, LAN & TEL Continuity Test, Suitable for Cable Maintenance - Green
  • Multifunctional Network Cable Tester: TESMEN TLP-123A Supports RJ45 and RJ11, enabling rapid detection of line connectivity, short circuits, open circuits, miswiring, and cable shielding status. An essential tool for troubleshooting line faults and network maintenance, it effectively boosts your work efficiency
  • Convenient and Efficient: Featuring one-button operation and a test speed adjustment gear on the main control unit for enhanced flexibility. Clear LED indicators provide intuitive test result displays, making it easy for both professionals and home users to operate
  • Portable and Durable: Compact and lightweight design for easy portability. Constructed with high-quality plastic housing for robust structure, ensuring both durability and stability. Ideal for home wiring, IT equipment setup, electrical maintenance, and LAN DIY projects
  • Detachable design: The main control unit and remote unit can be separated and used independently, allowing you to test both ends of long cables. This makes it ideal for wall-mounted ports, long-distance cabling, or structured cabling systems, perfect for homes, offices, or professional IT environments
  • What you will get: 1 * TLP-123A Network Cable Tester, 1 * user manual, 2 * AAA batteries

Do not confuse testing with load generation

nghttp2 also provides h2load, a benchmarking tool. A load test answers how a server behaves under a chosen workload; it does not prove that a normal browser connection negotiated HTTP/2. Keep the questions separate: use DevTools or curl for negotiation, nghttp -nv for frames, and h2load for controlled performance experiments.

How to interpret conflicting results

Observation What it establishes Next check
DevTools shows h2 for the document The browser used HTTP/2 on that document connection. Check redirects and other origins separately.
curl accepts ALPN h2 Your curl connection negotiated HTTP/2. Repeat from the affected region or network if users report otherwise.
curl says ALPN was not agreed and returns HTTP/1.1 This connection fell back. Check TLS ALPN, proxy/CDN termination, hostname coverage and curl capability.
Origin supports HTTP/2 but public URL does not The edge or proxy path is not passing through HTTP/2 for this client. Test the public hostname, not only the origin.
An Alt-Svc header is present The server advertised an alternative service. Perform an actual negotiated-protocol test; the header alone is not proof.

Troubleshooting HTTP/1.1 results

curl lacks HTTP2 in Features

Cause: the installed libcurl was built without an HTTP/2 library. Fix: install a distribution package or build that reports HTTP2 with curl -V, then rerun the command.

ALPN is not accepted

Cause: the server, TLS terminator or intermediary did not offer or select h2. Fix: inspect the TLS configuration at the public edge, verify that the certificate and virtual host match the requested hostname, and test without a proxy or VPN where possible.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Only some requests show h2

Cause: redirects, third-party origins, connection reuse or different CDN edges. Fix: inspect the final document request, record each hostname, and test each important origin independently.

Rank #4
Klein Tools VDV526-200 LAN Scout Jr Cable Tester Ethernet Cable Tester Kit
  • VERSATILE CABLE TESTING: Cable tester for data (RJ45) terminated cables and patch cords, ensuring comprehensive testing capabilities
  • LARGE BACKLIT LCD: Backlit LCD display enables easy reading of pin-to-pin wiremap results, even in low-lit areas
  • COMPREHENSIVE FAULT DETECTION: Test for Open, Short, Miswire, Split-Pair faults, Cross-over, and Shield, providing thorough fault detection
  • INTUITIVE USER INTERFACE: User-friendly interface with three buttons and simple, easy-to-identify test responses, ensuring a smooth testing experience
  • MULTIPLE TONE GENERATOR STYLES: Tone on a single wire, wire pair, or all 8 conductor wires using the multiple style tone generator (solid/warble); requires probe Cat. No. VDV500-123 (sold separately)

Browser and curl disagree

Cause: different networks, TLS stacks, DNS answers, user agents or proxy policies. Fix: compare the same hostname and URL from the same network, then repeat from the user environment that matters. Do not generalize one curl result to every client or edge.

The page is HTTP/2 but performance did not improve

Protocol selection is only one factor. Connection distance, server work, compression, caching, prioritization, third-party scripts and payload size still affect loading. Use a waterfall and a controlled workload; do not treat an HTTP/2 label as a performance guarantee.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Automate a pass/fail check

A simple shell check can fail a deployment when curl does not report HTTP/2:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
set -o pipefail
curl --http2 -sS -D - https://example.com -o /dev/null 2>&1 | tee http2-check.log
if grep -qE 'HTTP/2|using HTTP/2|server accepted to use h2' http2-check.log; then
  echo "HTTP/2 negotiated"
else
  echo "HTTP/2 not confirmed"
  exit 1
fi

Keep the raw log as an artifact. For stronger automation, parse curl’s verbose output in your CI language and record hostname, resolved address, timestamp, proxy settings and curl version alongside the result. A pass is valid only for that test path and time.

Best Value
Hi-Spec Network Cable Tester Tool Kit for CAT5 CAT6 RJ11 RJ45 Punchdown
  • Comprehensive Cable Testing: Includes a tester box with a detachable remote unit for in-place testing of Cat 5, Cat 5e, Cat 6, Cat 7 RJ45 Ethernet and RJ11 telephone cables; ideal for networks up to 300m/1000ft
  • Efficient Crimping & Stripping: Features a solid-build crimper with textured handles for secure wire and connector crimping; comes with mini-blades for easy wire snipping and stripping
  • Versatile Punch Down Tool: Krone-style punch down tool offers quick and lightweight block termination, perfect for setting up or repairing network connections
  • Precision Coax Stripping: Rotary coaxial cable stripper with an interchangeable head for RG59 and RG58 cables; adjustable blades for precise stripping with minimal effort
  • Accessories & Carry Case: Includes full-length screwdrivers for panels and covers, and a handy box of spare connectors; all kept tidy and organized, with strong elastic straps, in a professional-looking zipper case of splash-proof Oxford weave cloth

Or skip the browser setup

If your goal is to capture a clean visual of a page while you investigate delivery, ScreenshotNeo provides a website screenshot API and MCP server. It accepts consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups and chat widgets before capture; each step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing status. This does not replace ALPN testing, but it avoids maintaining a browser-capture script.

One request returns PNG, JPEG, WebP or PDF:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the complete options and authentication details in the ScreenshotNeo documentation. Python and Node.js clients are also available:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo also offers an MCP server with take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Sign up for the free plan.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Further reading

For a book-length treatment of frames, streams, upgrading and troubleshooting, see HTTP/2 in Action by Barry Pollard (Manning, 416-page print edition, March 2019, ISBN 9781617295164). Treat its publication date as historical context and verify current implementation details against your server, proxy and client documentation.

Frequently Asked Questions

Does an HTTPS certificate prove HTTP/2 is enabled?

No. A certificate enables TLS, while HTTP/2 still has to be selected through ALPN on the individual connection.

Can I test HTTP/2 with an online checker instead of curl?

You can, but the result describes that checker’s network path. For a reproducible diagnosis, keep a local curl or DevTools result from the client and hostname you care about.

Should I test the origin IP directly?

Only for an origin-specific diagnostic. A direct IP may use a different certificate, virtual host and protocol policy than the public hostname, so it cannot stand in for the user-facing test.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.