h-early-hints
· RFC 9110 §15.2, RFC 8297 · resilience · layer http3 · udp/4484 · MUST
Passing this means: Recovered rather than giving up.
Anomaly type: response_stream
How each client answered
| Client | Version | Verdict | What happened |
|---|---|---|---|
| curl | libcurl/8.23.0 ngtcp2/1.25.0 | Pass | Recovered and completed the follow-up request. |
| quinn | noq fork (189b0ed) | Pass | Recovered and completed the follow-up request. |
| aioquic | 1.3.0 (PyPI wheel) | Fail | Gave up with error 0x10e instead of recovering. |
| chromium | build 1248 | Pass | Recovered and completed the follow-up request. |
| quic-go | quic-go v0.61.0 (h1:9So2anK4Tp22) | Pass | Recovered and completed the follow-up request. |
| quiche | 0.30.0 (1c8e976) | Pass | Recovered and completed the follow-up request. |
| neqo | 0.31.1 (cac2b74) | Pass | Recovered and completed the follow-up request. |
| picoquic | 8162550 | Fail | Gave up with error 0x105 instead of recovering. |
| ngtcp2 | 3c23148 | Pass | Recovered and completed the follow-up request. |
| lsquic | 4.9.4 (2b30189) | Pass | Recovered and completed the follow-up request. |
| xquic | 2060a44 | Pass | Recovered and completed the follow-up request. |
| msquic | 2.7.0 (7e6525d) | Pass | Recovered and completed the follow-up request. |
| quico | 0.7.0 (npm) | Pass | Recovered and completed the follow-up request. |
What the clause requires
Treat 103 as informational and keep reading for the final response. RFC 9110 §15.2 makes this a MUST: a client "MUST be able to parse one or more 1xx responses received prior to a final response, even if the client does not expect one". Ignoring the hints is fine — a user agent MAY do that — but closing the connection is not.
Judged against RFC 9110, RFC 8297.
Run this one yourself
Every test is reachable from your own client. Nothing here needs an account.
curl -s https://conformance.pqcrypta.com/catalog.json \
| jq '.tests[] | select(.id == "h-early-hints")'