Validation

The following checks are executed by validate.sh for every framework subscribed to the baseline-h2c test. Port 8082 must be responding to a prior-knowledge h2 connection before checks begin.

HTTP/2 cleartext (prior-knowledge)

Sends GET /baseline2?a=1&b=1 to http://localhost:8082 with curl --http2-prior-knowledge. The negotiated protocol (%{http_version}) must report HTTP/2. A server answering HTTP/1.1 here fails this check.

Anti-cheat: h2c-only listener

Sends the same request with curl --http1.1. The server must not respond with an HTTP/1.1 200. If it does, the port is dual-serving h1 and h2c, which means the benchmark could silently measure HTTP/1.1 throughput instead of h2c. The check accepts any non-200 response (connection reset, GOAWAY, 400, etc.).

GET /baseline2 over h2c

Sends GET /baseline2?a=13&b=42 with prior-knowledge h2c and verifies the response body is 55.

Anti-cheat: randomized query parameters

Generates random values for a and b (100–999), sends the request over h2c, and verifies the response matches the expected sum. Detects hardcoded responses.

Content-Type

Response must include Content-Type: text/plain (charset suffix permitted).