Skip to content

Header normalization section - #32

Merged
MDA2AV merged 2 commits into
mainfrom
feature/header-normalization
Feb 13, 2026
Merged

MDA2AV merged 2 commits into
mainfrom
feature/header-normalization

Conversation

@MDA2AV

@MDA2AV MDA2AV commented Feb 13, 2026

Copy link
Copy Markdown
Owner

No description provided.

@github-actions

Copy link
Copy Markdown

Http11Probe — Compliance Comparison

Server Score
Glyph11 113/127 ██████████████████░░ 89%
Spring Boot 105/127 █████████████████░░░ 83%
Express 102/127 ████████████████░░░░ 80%
Apache 101/127 ████████████████░░░░ 80%
Jetty 101/127 ████████████████░░░░ 80%
Uvicorn 98/127 ███████████████░░░░░ 77%
HAProxy 95/127 ███████████████░░░░░ 75%
Kestrel 94/127 ███████████████░░░░░ 74%
ServiceStack 94/127 ███████████████░░░░░ 74%
Ntex 91/127 ██████████████░░░░░░ 72%
Actix 88/127 ██████████████░░░░░░ 69%
Bun 88/127 ██████████████░░░░░░ 69%
Nginx 88/127 ██████████████░░░░░░ 69%
H2O 87/127 ██████████████░░░░░░ 69%
Puma 86/127 ██████████████░░░░░░ 68%
Tomcat 86/127 ██████████████░░░░░░ 68%
FastHTTP 85/127 █████████████░░░░░░░ 67%
Gunicorn 82/127 █████████████░░░░░░░ 65%
Envoy 79/127 ████████████░░░░░░░░ 62%
Deno 77/127 ████████████░░░░░░░░ 61%
SimpleW 76/127 ████████████░░░░░░░░ 60%
Hyper 75/127 ████████████░░░░░░░░ 59%
Traefik 75/127 ████████████░░░░░░░░ 59%
Watson 75/127 ████████████░░░░░░░░ 59%
Caddy 74/127 ████████████░░░░░░░░ 58%
Quarkus 74/127 ████████████░░░░░░░░ 58%
Gin 72/127 ███████████░░░░░░░░░ 57%
PHP 65/127 ██████████░░░░░░░░░░ 51%
Pingora 52/127 ████████░░░░░░░░░░░░ 41%
GenHTTP 47/127 ███████░░░░░░░░░░░░░ 37%
EmbedIO 42/127 ███████░░░░░░░░░░░░░ 33%
Flask 42/127 ███████░░░░░░░░░░░░░ 33%
NetCoreServer 37/127 ██████░░░░░░░░░░░░░░ 29%
Node 34/127 █████░░░░░░░░░░░░░░░ 27%
Lighttpd 30/127 █████░░░░░░░░░░░░░░░ 24%
Sisk 0/127 ░░░░░░░░░░░░░░░░░░░░ 0%

Compliance

Server BASELINE BARE-LF-REQUEST-LINE BARE-LF-HEADER OBS-FOLD SP-BEFORE-COLON MULTI-SP-REQUEST-LINE MISSING-HOST INVALID-VERSION EMPTY-HEADER-NAME CR-ONLY-LINE-ENDING MISSING-TARGET FRAGMENT-IN-TARGET HTTP09-REQUEST INVALID-HEADER-NAME HEADER-NO-COLON DUPLICATE-HOST CL-NON-NUMERIC CL-PLUS-SIGN WHITESPACE-BEFORE-HEADERS DUPLICATE-HOST-SAME HOST-WITH-USERINFO HOST-WITH-PATH ASTERISK-WITH-GET OPTIONS-STAR UNKNOWN-TE-501 LEADING-CRLF ABSOLUTE-FORM METHOD-CASE POST-CL-BODY POST-CL-ZERO POST-NO-CL-NO-TE POST-CL-UNDERSEND CHUNKED-BODY CHUNKED-MULTI CHUNKED-EMPTY CHUNKED-NO-FINAL UPGRADE-POST UPGRADE-MISSING-CONN UPGRADE-UNKNOWN METHOD-CONNECT EXPECT-UNKNOWN GET-WITH-CL-BODY CHUNKED-EXTENSION UPGRADE-INVALID-VER METHOD-TRACE HOST-EMPTY-VALUE REQUEST-LINE-TAB VERSION-MISSING-MINOR VERSION-LEADING-ZEROS VERSION-WHITESPACE CONNECTION-CLOSE HTTP10-DEFAULT-CLOSE HTTP10-NO-HOST HTTP12-VERSION TRACE-WITH-BODY CHUNKED-TRAILER-VALID CHUNKED-HEX-UPPERCASE
Expected 2xx 400 or close (pass), 2xx (warn) 400 or close (pass), 2xx (warn) 400 400 400 or 2xx 400 400/505 or close 400 or close 400 400 or close 400 or 2xx 400/close/timeout 400 or close 400 or close 400 400 or close 400 or close 400 or close 400 400 or close 400 or close 400 or close 2xx 400/501 or close 400 or 2xx 2xx preferred; 400 warns 400/405/501 or 2xx 2xx 2xx or close 2xx or close 400/close/timeout 2xx 2xx 2xx or close 400/close/timeout !101 !101 !101 400/405/501 or close 417 or 2xx 400 or 2xx 2xx preferred; 400 warns non-101 (426 preferred) 405/501 or 2xx 400 or close 400 or 2xx 400 or close 400 or close 400 or close 2xx + close 2xx + close 200 or 400 200 or 505 400/405 or 200 2xx 2xx
Actix ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ❌200 ✅200 ✅400 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ❌TimedOut ❌TimedOut ✅200 ❌TimedOut ⚠️200 ⚠️200 ✅200 ❌TimedOut ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ❌400 ⚠️200 ❌400 ✅200
Apache ✅200 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅ClosedByServer ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅200 ✅400 ⚠️200 ✅200 ✅501 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅405 ✅417 ⚠️200 ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ❌413 ✅200 ✅200
Kestrel ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅505 ✅400 ✅400 ✅400 ❌404 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ❌405 ❌405 ✅400 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅405 ⚠️200 ⚠️200 ✅200 ⚠️200 ✅405 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️505 ✅405 ✅200 ✅200
Bun ✅200 ❌505 ✅400 ✅400 ✅400 ✅400 ✅400 ✅505 ❌200 ❌505 ✅400 ⚠️200 ✅505 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ✅400 ❌400 ✅400 ✅400 ✅200 ✅ClosedByServer ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌200 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌500 ⚠️200 ❌505 ❌505 ❌505 ✅200 ✅200 ❌500 ⚠️505 ⚠️200 ✅200 ✅200
Caddy ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅505 ✅400 ✅400 ✅400 ⚠️200 ✅TimedOut ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅200 ✅501 ✅400 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌200 ✅417 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
Deno ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ✅400 ✅200 ✅400 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌200 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌500 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ❌400 ⚠️200 ✅200 ✅200
EmbedIO ✅200 ⚠️200 ⚠️200 ❌ClosedByServer ❌200 ✅ClosedByServer ❌ClosedByServer ❌200 ✅ClosedByServer ❌ClosedByServer ✅ClosedByServer ⚠️200 ✅ClosedByServer ❌200 ✅ClosedByServer ❌200 ❌200 ❌200 ✅ClosedByServer ❌200 ❌200 ❌200 ✅ClosedByServer ❌ClosedByServer ❌200 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌200 ✅200 ✅200 ✅200 ✅ClosedByServer ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
Envoy ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ⚠️200 ✅400 ❌426 ✅400 ✅400 ✅400 ✅400 ❌426 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ✅400 ✅400 ❌404 ✅501 ✅400 ✅200 ✅400 ✅200 ✅200 ✅200 ❌200 ✅200 ✅200 ✅200 ❌200 ✅403 ✅200 ✅403 ❌404 ⚠️200 ⚠️200 ✅200 ✅403 ⚠️200 ❌200 ⚠️200 ✅400 ✅400 ✅400 ❌200 ❌426 ❌426 ❌426 ⚠️200 ✅200 ✅200
Express ✅200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ❌404 ✅TimedOut ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ❌404 ❌404 ✅400 ⚠️200 ✅200 ✅400 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅ClosedByServer ✅417 ⚠️200 ✅200 ⚠️200 ❌404 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ❌400 ❌404 ✅200 ✅200
FastHTTP ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ⚠️200 ❌200 ❌200 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅TimedOut ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ❌200 ✅200 ✅400 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌200 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
Flask ✅200 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200 ❌200 ✅ClosedByServer ❌200 ❌ClosedByServer ✅ClosedByServer ⚠️200 ✅TimedOut ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ✅200 ❌200 ✅ClosedByServer ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅400 ✅200 ✅200 ❌200 ⚠️200 ⚠️200 ❌500 ✅400 ⚠️200 ❌200 ⚠️200 ✅ClosedByServer ❌200 ✅ClosedByServer ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ❌500 ✅200
GenHTTP ✅200 ✅400 ⚠️200 ❌200 ❌200 ⚠️200 ✅400 ✅400 ❌200 ✅400 ✅400 ❌404 ✅400 ❌200 ❌200 ❌200 ✅400 ❌200 ✅400 ❌200 ❌200 ❌200 ❌200 ❌405 ❌200 ✅400 ❌404 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌404 ⚠️200 ⚠️200 ❌500 ⚠️200 ✅405 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ✅400 ❌400 ✅405 ✅200 ✅200
Gin ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅505 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅200 ✅501 ✅400 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌200 ✅417 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
Glyph11 ✅200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅TimedOut ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅200 ✅400 ✅400 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅400 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ❌200 ⚠️200 ✅400 ❌400 ⚠️200 ✅200 ✅200
Gunicorn ✅200 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ❌200 ✅200 ❌200 ✅400 ✅200 ✅400 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅200 ✅200 ✅200 ✅200 ❌200 ✅417 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ❌200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
H2O ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ❌200 ✅200 ✅400 ✅400 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅405 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
HAProxy ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ⚠️200 ❌200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅200 ✅400 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ❌200 ✅200 ✅200 ✅200 ❌200 ✅200 ✅200 ✅200 ❌200 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ⚠️200 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
Hyper ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ❌200 ✅200 ✅400 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌200 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ❌400 ⚠️200 ✅200 ✅200
Jetty ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ✅400 ✅505 ✅400 ✅400 ❌505 ⚠️200 ✅505 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅200 ✅400 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅400 ✅200 ❌200 ✅ClosedByServer ⚠️200 ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ❌505 ❌505 ✅400 ✅200 ✅200 ⚠️200 ⚠️505 ⚠️200 ✅200 ✅200
Lighttpd ✅200 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200 ❌200 ❌200 ❌200 ❌200 ❌200 ⚠️200 ✅TimedOut ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ✅200 ❌200 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌200 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ❌200 ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
NetCoreServer ✅200 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200 ❌200 ❌200 ✅400 ✅400 ❌200 ⚠️200 ✅TimedOut ❌200 ❌200 ❌200 ✅400 ✅400 ❌200 ❌200 ❌200 ❌200 ❌200 ✅200 ❌TimedOut ⚠️200 ✅200 ❌TimedOut ✅200 ✅200 ✅TimedOut ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ❌TimedOut ✅200 ✅200 ❌TimedOut ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ❌TimedOut ❌200 ❌200 ❌200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
Nginx ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ✅400 ✅505 ✅400 ✅400 ✅400 ⚠️200 ✅ClosedByServer ❌200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ❌400 ✅501 ⚠️200 ✅200 ✅400 ✅200 ✅200 ✅200 ❌200 ✅200 ✅200 ✅200 ❌200 ✅200 ✅200 ✅200 ✅400 ⚠️200 ⚠️200 ✅200 ⚠️200 ✅405 ✅400 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ✅405 ✅200 ✅200
Node ✅200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅TimedOut ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ❌200 ✅200 ✅400 ⚠️200 ✅200 ✅400 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅ClosedByServer ✅417 ⚠️200 ✅200 ⚠️200 ⚠️200 ✅ClosedByServer ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error
Ntex ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ❌200 ✅200 ✅400 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ⚠️200 ⚠️200 ✅200 ❌TimedOut ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ❌400 ⚠️200 ❌400 ✅200
PHP ✅200 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200 ❌200 ❌200 ✅ClosedByServer ❌ClosedByServer ✅ClosedByServer ⚠️200 ✅TimedOut ✅ClosedByServer ❌200 ❌200 ✅ClosedByServer ✅ClosedByServer ❌200 ❌200 ❌200 ❌200 ❌200 ✅200 ❌200 ⚠️200 ✅200 ✅ClosedByServer ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌200 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ❌200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
Pingora ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ✅400 ❌200 ❌200 ❌200 ❌200 ✅200 ❌200 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ❌TimedOut ✅200 ✅200 ❌200 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ❌400 ⚠️200 ✅200 ✅200
Puma ✅200 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ❌200 ✅400 ❌500 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ❌200 ✅200 ✅400 ❌500 ✅200 ✅400 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅501 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ❌200 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
Quarkus ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ⚠️200 ✅400 ❌200 ❌200 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ❌404 ❌404 ❌200 ⚠️200 ✅200 ✅405 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌404 ⚠️200 ⚠️200 ✅200 ⚠️200 ✅405 ❌200 ⚠️200 ✅400 ❌200 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ✅405 ✅200 ✅200
ServiceStack ✅200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅505 ✅400 ✅400 ✅400 ⚠️200 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ❌405 ✅200 ✅400 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌200 ⚠️200 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️505 ⚠️200 ✅200 ✅200
SimpleW ✅200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌404 ✅TimedOut ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ❌200 ✅400 ❌400 ❌200 ✅400 ⚠️400 ❌404 ✅200 ✅200 ✅200 ✅TimedOut ❌TimedOut ❌TimedOut ✅TimedOut ✅TimedOut ✅200 ✅200 ✅200 ✅400 ⚠️200 ⚠️200 ❌TimedOut ⚠️200 ❌404 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ❌400 ❌404 ✅200 ❌TimedOut
Sisk ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error
Spring Boot ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ⚠️200 ✅400 ✅505 ✅400 ✅400 ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅200 ✅501 ⚠️200 ✅200 ✅405 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅501 ✅417 ⚠️200 ✅200 ⚠️200 ✅405 ❌200 ⚠️200 ❌505 ❌505 ✅400 ✅200 ✅200 ⚠️200 ⚠️505 ✅405 ✅200 ✅200
Tomcat ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ⚠️200 ✅400 ✅505 ✅400 ✅400 ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅200 ✅501 ⚠️200 ✅200 ✅405 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅501 ✅417 ⚠️200 ✅200 ⚠️200 ✅405 ❌200 ⚠️200 ❌505 ❌505 ✅400 ✅200 ✅200 ⚠️200 ⚠️505 ✅405 ✅200 ✅200
Traefik ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅505 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌404 ✅200 ✅501 ✅400 ✅200 ⚠️200 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ❌404 ✅417 ⚠️200 ✅200 ⚠️200 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅200 ✅200
Uvicorn ✅200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅TimedOut ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ❌200 ❌200 ❌200 ✅200 ✅400 ⚠️200 ✅200 ✅400 ✅200 ✅200 ✅200 ✅TimedOut ✅200 ✅200 ✅200 ✅TimedOut ✅400 ✅200 ✅200 ✅400 ⚠️200 ⚠️200 ✅200 ✅400 ⚠️200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ❌400 ⚠️200 ✅200 ✅200
Watson ✅200 ⚠️200 ⚠️200 ✅400 ❌200 ✅400 ✅400 ✅505 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ❌200 ✅400 ❌200 ❌200 ❌200 ✅400 ❌400 ✅501 ⚠️200 ✅200 ⚠️200 ✅200 ✅200 ❌411 ✅TimedOut ❌TimedOut ❌TimedOut ✅TimedOut ✅TimedOut ✅411 ❌TimedOut ❌TimedOut ✅400 ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ✅400 ✅400 ✅400 ✅400 ✅400 ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut

Smuggling

Server CL-TE-BOTH DUPLICATE-CL CL-LEADING-ZEROS TE-XCHUNKED TE-TRAILING-SPACE TE-SP-BEFORE-COLON CL-NEGATIVE CLTE-PIPELINE TECL-PIPELINE CL-TRAILING-SPACE TE-DOUBLE-CHUNKED CL-EXTRA-LEADING-SP TE-CASE-MISMATCH CL-COMMA-DIFFERENT TE-NOT-FINAL-CHUNKED TE-HTTP10 CHUNK-BARE-SEMICOLON BARE-CR-HEADER-VALUE CL-OCTAL CHUNK-UNDERSCORE TE-EMPTY-VALUE TE-LEADING-COMMA TE-DUPLICATE-HEADERS CHUNK-HEX-PREFIX CL-HEX-PREFIX CL-INTERNAL-SPACE CHUNK-LEADING-SP CHUNK-MISSING-TRAILING-CRLF CHUNK-EXT-LF CHUNK-SPILL CHUNK-LF-TERM CHUNK-EXT-CTRL CHUNK-EXT-CR TE-VTAB TE-FORMFEED TE-NULL CHUNK-LF-TRAILER TE-IDENTITY CHUNK-NEGATIVE TRANSFER_ENCODING CL-COMMA-SAME CHUNKED-WITH-PARAMS EXPECT-100-CL TRAILER-CL TRAILER-TE TRAILER-HOST TRAILER-AUTH HEAD-CL-BODY OPTIONS-CL-BODY CL-UNDERSCORE CL-NEGATIVE-ZERO CL-DOUBLE-ZERO CL-LEADING-ZEROS-OCTAL TE-OBS-FOLD TE-TRAILING-COMMA TE-TAB-BEFORE-VALUE ABSOLUTE-URI-HOST-MISMATCH MULTIPLE-HOST-COMMA CHUNK-BARE-CR-TERM TRAILER-CONTENT-TYPE
Expected 400 or 2xx 400 or close 400 or 2xx 400/501 or close 400/501 or 2xx+close 400 or close 400 or close 400 or close 400 or close 400 or 2xx 400 or 2xx 400 or 2xx 400 or 2xx 400 or close 400 or close 400 or close 400 or close 400 or close 400 or close 400 or close 400 or close 400 or 2xx 400 or close 400 or close 400 or close 400 or close 400 or close 400 or close 400 or 2xx 400 or close 400 or 2xx 400 or close 400 or close 400 or close 400 or close 400 or close 400 or 2xx 400/501 or close 400 or close 400 or 2xx 400 or 2xx 400 or 2xx 400 or 2xx 400 or 2xx 400 or 2xx 400 or 2xx 400 or 2xx 400 or 2xx 400 or 2xx 400 or close 400 or close 400 or 2xx 400 or 2xx 400 or 2xx+close 400 or 2xx 400 or 2xx 400 or 2xx 400 or close 400 or close 400 or 2xx
Actix ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ❌200 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ⚠️200 ✅400 ✅400 ❌100 ✅400 ✅400 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅400 ✅400
Apache ⚠️200 ✅400 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ❌200 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200
Kestrel ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ❌200 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ❌TimedOut ✅400 ✅400 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌405 ❌405 ✅400 ❌200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200
Bun ✅400 ❌200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ⚠️200 ✅400 ✅400 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ⚠️200 ❌500 ✅400 ⚠️200
Caddy ⚠️200 ✅400 ⚠️200 ✅501 ❌TimedOut ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌501 ⚠️200 ❌TimedOut ✅400 ❌501 ❌200 ❌200 ✅400 ✅400 ❌200 ❌501 ❌501 ❌501 ❌200 ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ✅400 ✅400 ✅400 ❌TimedOut ✅501 ❌200 ⚠️200 ✅400 ❌501 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ❌TimedOut ❌501 ❌TimedOut ⚠️200 ✅400 ❌200 ⚠️200
Deno ⚠️200 ✅400 ⚠️200 ✅400 ❌500 ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌500 ⚠️200 ❌500 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ❌500 ✅400 ❌500 ✅400 ❌500 ✅400 ✅400 ❌500 ❌500 ❌500 ❌500 ❌500 ❌200 ❌500 ✅400 ✅400 ✅400 ❌TimedOut ✅400 ❌500 ⚠️200 ✅400 ✅400 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ❌500 ⚠️200 ❌500 ❌500 ⚠️200
EmbedIO ❌TimedOut ❌200 ⚠️200 ❌200 ❌200 ❌200 ✅ClosedByServer ❌200 ❌TimedOut ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ⚠️200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ❌200 ❌200 ❌200 ⚠️200 ❌200 ❌200 ⚠️200 ⚠️200 ⚠️200 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200 ⚠️200 ✅ClosedByServer ⚠️200 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200
Envoy ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ❌501 ✅400 ❌200 ❌200 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ✅400 ✅400 ✅400 ⚠️200 ✅400 ❌200 ⚠️200 ✅400 ✅400 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ⚠️200 ✅400 ❌200 ⚠️200
Express ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ❌100 ✅400 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅400 ⚠️200
FastHTTP ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ❌200 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅TimedOut ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅400 ⚠️200 ✅400 ✅400 ❌100 ✅400 ✅400 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅400 ⚠️200
Flask ⚠️200 ❌200 ⚠️200 ❌200 ❌TimedOut ❌200 ❌200 ❌200 ❌200 ⚠️200 ⚠️200 ⚠️200 ❌TimedOut ❌200 ❌200 ✅TimedOut ❌500 ❌200 ❌200 ❌200 ❌200 ⚠️200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌500 ❌500 ❌500 ⚠️200 ❌500 ❌500 ✅TimedOut ✅TimedOut ❌200 ⚠️200 ❌200 ❌500 ⚠️200 ⚠️200 ⚠️200 ❌100 ❌500 ❌500 ❌500 ❌500 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200 ⚠️200 ❌TimedOut ⚠️200 ❌TimedOut ⚠️200 ❌200 ❌500 ❌500
GenHTTP ❌TimedOut ❌200 ⚠️200 ❌200 ❌200 ❌200 ❌200 ✅200 ❌TimedOut ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ❌200 ❌200 ❌500 ❌200 ✅400 ❌500 ❌200 ⚠️200 ❌200 ❌200 ✅400 ✅400 ❌200 ❌500 ❌500 ❌500 ❌500 ❌500 ❌500 ❌200 ❌200 ❌200 ❌500 ❌200 ❌500 ⚠️200 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌405 ✅400 ❌200 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ❌404 ❌200 ❌500 ⚠️200
Gin ⚠️200 ✅400 ⚠️200 ✅501 ❌TimedOut ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌501 ⚠️200 ❌TimedOut ✅400 ❌501 ❌200 ❌200 ✅400 ✅400 ❌200 ❌501 ❌501 ❌501 ❌200 ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ✅400 ✅400 ✅400 ❌TimedOut ✅501 ❌200 ⚠️200 ✅400 ❌501 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ❌TimedOut ❌501 ❌TimedOut ⚠️200 ✅400 ❌200 ⚠️200
Glyph11 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅400 ⚠️200
Gunicorn ✅400 ✅400 ⚠️200 ✅501 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ❌200 ❌501 ❌501 ✅400 ❌200 ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ✅400 ✅400 ✅400 ⚠️200 ❌200 ❌200 ⚠️200 ✅400 ❌501 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ❌501 ✅400 ⚠️200 ❌200 ❌200 ⚠️200
H2O ⚠️200 ❌200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ❌200 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ⚠️200 ✅400 ✅400 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅400 ⚠️200
HAProxy ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200
Hyper ⚠️200 ✅400 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ❌200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ❌200 ✅400 ⚠️200 ✅400 ❌200 ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ✅400 ✅400 ✅400 ❌TimedOut ✅400 ❌200 ⚠️200 ✅400 ✅400 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200
Jetty ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200
Lighttpd ⚠️200 ❌200 ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ⚠️200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌200 ⚠️200 ❌200 ⚠️200 ✅TimedOut ❌200 ❌200 ❌200 ❌200 ❌TimedOut ❌200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200
NetCoreServer ❌TimedOut ❌200 ⚠️200 ❌200 ❌200 ❌200 ✅400 ❌200 ❌TimedOut ✅400 ⚠️200 ⚠️200 ⚠️200 ✅400 ❌200 ❌200 ❌200 ✅400 ✅400 ❌200 ✅TimedOut ⚠️200 ❌200 ❌200 ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ❌200 ❌200 ❌200 ❌TimedOut ❌200 ❌200 ⚠️200 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200
Nginx ✅400 ✅400 ⚠️200 ✅501 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ❌501 ⚠️200 ✅400 ✅400 ❌501 ✅400 ❌200 ✅400 ✅400 ✅400 ❌501 ❌501 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ⚠️200 ❌200 ✅400 ❌501 ❌501 ✅400 ⚠️200 ✅501 ✅400 ⚠️200 ✅400 ❌501 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ❌501 ❌501 ⚠️200 ✅400 ✅400 ⚠️200
Node ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error
Ntex ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ❌200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ⚠️200 ✅400 ✅400 ❌100 ✅400 ✅400 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅400 ✅400
PHP ⚠️200 ❌200 ⚠️200 ❌200 ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅200 ✅200 ⚠️200 ⚠️200 ⚠️200 ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ❌200 ❌200 ✅ClosedByServer ✅ClosedByServer ❌200 ⚠️200 ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ❌200 ✅ClosedByServer ✅ClosedByServer ❌TimedOut ✅ClosedByServer ✅ClosedByServer ❌200 ✅ClosedByServer ❌200 ❌200 ❌200 ⚠️200 ❌200 ✅ClosedByServer ⚠️200 ✅ClosedByServer ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅ClosedByServer ✅ClosedByServer ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌200 ✅ClosedByServer ⚠️200
Pingora ⚠️200 ✅400 ⚠️200 ❌200 ❌500 ✅400 ❌200 ❌200 ❌200 ⚠️200 ⚠️200 ⚠️200 ❌500 ❌200 ❌200 ❌500 ❌200 ✅400 ❌200 ❌500 ❌200 ⚠️200 ❌500 ❌500 ❌200 ❌200 ❌500 ❌500 ❌TimedOut ❌500 ❌500 ❌200 ❌500 ✅400 ✅400 ✅400 ❌500 ❌200 ❌500 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌200 ❌200 ⚠️200 ⚠️200 ✅400 ⚠️200 ❌500 ⚠️200 ❌200 ❌500 ⚠️200
Puma ⚠️200 ✅400 ⚠️200 ✅501 ❌TimedOut ✅400 ✅400 ❌200 ❌200 ⚠️200 ✅400 ⚠️200 ❌TimedOut ✅400 ✅400 ✅TimedOut ❌200 ✅400 ✅400 ✅400 ❌501 ❌501 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ❌TimedOut ✅400 ✅400 ❌200 ❌200 ✅400 ✅400 ✅400 ❌TimedOut ✅501 ✅400 ⚠️200 ✅400 ❌501 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ❌TimedOut ❌TimedOut ⚠️200 ❌200 ✅400 ⚠️200
Quarkus ⚠️200 ✅400 ⚠️200 ❌200 ❌TimedOut ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌TimedOut ⚠️200 ❌TimedOut ✅400 ❌200 ✅TimedOut ❌200 ✅400 ✅400 ✅ClosedByServer ❌200 ❌TimedOut ✅TimedOut ✅ClosedByServer ✅400 ✅400 ❌200 ✅ClosedByServer ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅ClosedByServer ⚠️200 ✅400 ⚠️200 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ❌TimedOut ❌TimedOut ❌TimedOut ⚠️200 ✅400 ✅TimedOut ⚠️200
ServiceStack ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ❌200 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ❌TimedOut ✅400 ✅400 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ❌200 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200
SimpleW ❌TimedOut ✅400 ⚠️200 ❌TimedOut ❌TimedOut ✅400 ✅400 ❌TimedOut ❌TimedOut ⚠️200 ❌TimedOut ⚠️200 ❌TimedOut ✅400 ✅TimedOut ✅TimedOut ✅TimedOut ✅400 ✅400 ✅400 ❌200 ❌TimedOut ✅TimedOut ✅400 ✅400 ✅400 ✅TimedOut ❌500 ❌TimedOut ❌500 ❌500 ✅TimedOut ✅TimedOut ✅TimedOut ✅TimedOut ✅TimedOut ❌TimedOut ❌200 ✅400 ⚠️200 ✅400 ❌TimedOut ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌404 ❌404 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ❌TimedOut ❌TimedOut ✅400 ❌200 ✅400 ⚠️200
Sisk ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error
Spring Boot ⚠️200 ✅400 ⚠️200 ✅501 ✅400 ✅400 ✅400 ✅200 ✅200 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅501 ✅400 ⚠️200 ✅400 ✅400 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200
Tomcat ⚠️200 ✅400 ⚠️200 ✅501 ❌500 ✅400 ✅400 ✅200 ✅200 ⚠️200 ✅400 ⚠️200 ❌500 ✅400 ✅400 ❌500 ❌200 ✅400 ✅400 ❌500 ✅400 ❌500 ✅400 ❌500 ✅400 ✅400 ❌500 ❌500 ❌500 ❌500 ❌500 ❌200 ❌500 ✅400 ✅400 ✅400 ❌500 ✅501 ❌500 ⚠️200 ✅400 ✅400 ❌100 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ❌500 ❌500 ❌500 ✅400 ✅400 ❌500 ⚠️200
Traefik ⚠️200 ✅400 ⚠️200 ✅501 ❌TimedOut ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌501 ⚠️200 ❌TimedOut ✅400 ❌501 ❌200 ❌200 ✅400 ✅400 ❌200 ❌501 ❌501 ❌501 ❌200 ✅400 ✅400 ❌200 ❌200 ⚠️200 ❌200 ⚠️200 ❌200 ❌200 ✅400 ✅400 ✅400 ❌TimedOut ✅501 ❌200 ⚠️200 ✅400 ❌501 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ❌TimedOut ❌501 ❌TimedOut ⚠️200 ✅400 ❌200 ⚠️200
Uvicorn ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ❌100 ✅400 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅400 ⚠️200
Watson ❌TimedOut ✅400 ❌TimedOut ✅501 ❌TimedOut ✅TimedOut ✅400 ❌TimedOut ❌TimedOut ❌TimedOut ❌501 ❌TimedOut ❌TimedOut ✅400 ❌501 ✅TimedOut ✅TimedOut ✅TimedOut ✅400 ✅TimedOut ❌501 ❌501 ❌501 ✅TimedOut ✅400 ✅400 ✅TimedOut ✅TimedOut ❌TimedOut ✅TimedOut ❌TimedOut ✅TimedOut ✅TimedOut ✅TimedOut ✅TimedOut ✅400 ❌TimedOut ✅501 ✅TimedOut ❌TimedOut ✅400 ❌501 ❌100 ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ✅400 ✅TimedOut ❌TimedOut ❌TimedOut ✅400 ❌501 ❌TimedOut ❌TimedOut ✅TimedOut ✅TimedOut ❌TimedOut

Malformed Input

Server BINARY-GARBAGE LONG-URL LONG-HEADER-VALUE MANY-HEADERS NUL-IN-URL CONTROL-CHARS-HEADER INCOMPLETE-REQUEST EMPTY-REQUEST LONG-HEADER-NAME LONG-METHOD NON-ASCII-HEADER-NAME NON-ASCII-URL CL-OVERFLOW WHITESPACE-ONLY-LINE NUL-IN-HEADER-VALUE CHUNK-SIZE-OVERFLOW H2-PREFACE CL-EMPTY CL-TAB-BEFORE-VALUE URL-BACKSLASH URL-OVERLONG-UTF8 URL-PERCENT-NULL URL-PERCENT-CRLF CHUNK-EXT-64K RANGE-OVERLAPPING POST-CL-HUGE-NO-BODY
Expected 400/close/timeout 400/414/431 or close 400/431 or close 400/431 or close 400 or close 400 or close 400/close/timeout 400/close/timeout 400/431 or close 400 or close 400 or close 400 or close 400 or close 400/close/timeout 400 or close 400 or close 400/505/close/timeout 400 or close 400 or 2xx 400 or 2xx/404 400 or close 400 or 2xx/404 400 or 2xx/404 400 or 2xx 200/206/400/416 400/close/timeout
Actix ✅400 ✅400 ❌200 ✅431 ✅400 ✅400 ✅408 ✅408 ✅ClosedByServer ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅413
Apache ✅400 ✅414 ✅400 ✅400 ✅400 ✅400 ✅TimedOut ✅TimedOut ✅400 ❌414 ✅400 ❌404 ✅400 ✅400 ✅400 ❌413 ✅400 ✅400 ⚠️200 ⚠️404 ❌404 ⚠️404 ⚠️404 ❌413 ⚠️206 ✅TimedOut
Kestrel ✅400 ✅414 ✅431 ✅431 ✅400 ❌200 ✅TimedOut ✅TimedOut ✅431 ❌414 ✅400 ✅400 ✅400 ✅400 ✅400 ❌500 ✅ClosedByServer ✅400 ⚠️200 ⚠️404 ✅400 ✅400 ⚠️404 ⚠️200 ⚠️200 ✅413
Bun ✅400 ✅431 ✅431 ✅431 ❌505 ✅400 ✅TimedOut ✅TimedOut ✅431 ❌431 ✅400 ❌200 ✅400 ✅400 ✅400 ✅TimedOut ✅400 ❌200 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅413
Caddy ✅400 ❌200 ❌200 ❌200 ✅400 ✅400 ✅TimedOut ✅TimedOut ❌200 ❌405 ✅400 ❌200 ✅400 ✅TimedOut ✅400 ❌200 ✅ClosedByServer ✅400 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅200
Deno ✅400 ✅414 ❌200 ✅431 ✅400 ✅400 ✅TimedOut ✅TimedOut ✅431 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ❌500 ✅TimedOut ✅400 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ❌500 ⚠️200 ✅TimedOut
EmbedIO ✅ClosedByServer ❌200 ✅ClosedByServer ✅ClosedByServer ❌200 ❌200 ✅TimedOut ✅TimedOut ✅ClosedByServer ❌200 ❌200 ❌200 ❌200 ✅ClosedByServer ❌200 ❌200 ✅ClosedByServer ❌200 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅TimedOut
Envoy ✅400 ✅431 ✅431 ✅431 ✅400 ✅400 ✅TimedOut ✅TimedOut ✅431 ❌431 ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅TimedOut ✅400 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌200
Express ✅400 ✅431 ✅431 ✅431 ✅400 ✅400 ✅TimedOut ✅TimedOut ✅431 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ⚠️404 ✅400 ⚠️404 ⚠️404 ❌413 ⚠️200 ✅TimedOut
FastHTTP ✅400 ✅431 ✅431 ✅431 ❌200 ✅400 ✅TimedOut ✅TimedOut ✅431 ❌431 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅200 ✅400 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400
Flask ✅ClosedByServer ✅414 ✅431 ✅431 ❌200 ❌200 ✅TimedOut ✅TimedOut ✅431 ❌414 ❌200 ❌200 ✅TimedOut ✅ClosedByServer ❌200 ✅TimedOut ✅ClosedByServer ❌200 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️404 ❌500 ⚠️200 ✅TimedOut
GenHTTP ✅400 ✅400 ✅400 ❌200 ❌404 ❌200 ✅400 ✅TimedOut ❌200 ✅400 ❌200 ❌404 ✅400 ✅400 ❌200 ❌500 ✅400 ✅400 ⚠️200 ⚠️404 ❌404 ⚠️404 ⚠️404 ✅400 ⚠️200 ✅TimedOut
Gin ✅400 ❌200 ❌200 ❌200 ✅400 ✅400 ✅TimedOut ✅TimedOut ❌200 ❌200 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ✅200 ✅400 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅TimedOut
Glyph11 ✅TimedOut ✅431 ✅431 ✅431 ✅400 ✅400 ✅TimedOut ✅TimedOut ✅431 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ✅400 ✅400 ✅400 ⚠️200 ❌TimedOut ⚠️200 ✅TimedOut
Gunicorn ✅TimedOut ✅400 ✅431 ✅431 ❌200 ❌200 ✅TimedOut ✅TimedOut ✅431 ✅400 ✅400 ❌200 ✅TimedOut ✅400 ✅400 ❌200 ✅400 ✅400 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅TimedOut
H2O ✅400 ❌200 ❌200 ✅400 ✅400 ✅400 ✅ClosedByServer ✅TimedOut ❌200 ❌200 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅TimedOut ✅400 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅ClosedByServer
HAProxy ✅400 ✅400 ✅400 ✅400 ✅400 ❌200 ✅TimedOut ✅TimedOut ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅TimedOut ✅400 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ❌200
Hyper ✅400 ✅414 ❌200 ✅431 ✅400 ✅400 ✅TimedOut ✅TimedOut ✅431 ❌200 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ✅ClosedByServer ✅400 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅TimedOut
Jetty ✅400 ✅414 ✅431 ✅431 ✅400 ✅400 ✅TimedOut ✅TimedOut ✅431 ❌431 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅426 ✅400 ⚠️200 ✅400 ✅400 ✅400 ✅400 ⚠️200 ⚠️200 ✅TimedOut
Lighttpd ✅TimedOut ❌200 ❌200 ❌200 ❌200 ❌200 ✅TimedOut ✅TimedOut ❌200 ❌200 ❌200 ❌200 ❌200 ✅200 ❌200 ❌200 ✅TimedOut ❌200 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️206 ✅TimedOut
NetCoreServer ✅TimedOut ❌200 ❌200 ❌200 ❌200 ❌200 ✅TimedOut ✅TimedOut ❌200 ❌TimedOut ❌200 ❌200 ✅TimedOut ✅TimedOut ❌200 ❌200 ❌200 ✅TimedOut ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅TimedOut
Nginx ✅400 ✅414 ✅400 ✅400 ✅400 ❌200 ✅TimedOut ✅TimedOut ✅400 ❌414 ❌200 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ❌200 ✅400 ⚠️200 ⚠️200 ⚠️200 ❌413
Node ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error
Ntex ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅408 ✅408 ✅400 ✅400 ✅400 ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅400
PHP ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ❌200 ✅TimedOut ✅TimedOut ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅ClosedByServer ✅TimedOut ✅ClosedByServer ❌200 ✅ClosedByServer ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error
Pingora ✅400 ❌200 ❌200 ✅400 ❌200 ✅400 ✅TimedOut ✅TimedOut ✅400 ❌200 ✅400 ❌200 ❌200 ✅400 ✅400 ❌500 ✅400 ❌200 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ❌500 ⚠️200 ✅TimedOut
Puma ✅400 ✅400 ✅400 ✅ClosedByServer ✅400 ✅400 ✅TimedOut ✅TimedOut ✅400 ✅ClosedByServer ✅400 ❌200 ✅TimedOut ✅400 ✅400 ❌500 ✅501 ✅400 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ✅ClosedByServer ⚠️200 ✅TimedOut
Quarkus ✅400 ✅414 ✅431 ✅431 ✅400 ✅400 ✅TimedOut ✅TimedOut ✅431 ❌414 ✅400 ❌200 ✅400 ✅TimedOut ✅400 ✅ClosedByServer ✅TimedOut ✅400 ⚠️200 ✅400 ❌200 ⚠️200 ⚠️200 ✅ClosedByServer ⚠️200 ✅413
ServiceStack ✅400 ✅414 ✅431 ✅431 ✅400 ❌200 ✅TimedOut ✅TimedOut ✅431 ❌414 ✅400 ✅400 ✅400 ✅400 ✅400 ❌500 ✅ClosedByServer ✅400 ⚠️200 ⚠️200 ✅400 ✅400 ⚠️200 ⚠️200 ⚠️200 ✅413
SimpleW ✅400 ❌413 ❌413 ❌413 ❌404 ❌200 ✅TimedOut ✅TimedOut ❌413 ❌413 ✅400 ❌404 ✅400 ✅400 ❌200 ❌500 ✅400 ✅400 ⚠️200 ⚠️404 ❌404 ⚠️404 ⚠️404 ❌TimedOut ⚠️200 ✅413
Sisk ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error ❌Error
Spring Boot ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅TimedOut ✅TimedOut ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅ClosedByServer ✅400 ⚠️200 ✅400 ✅400 ✅400 ⚠️404 ✅400 ⚠️200 ✅TimedOut
Tomcat ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅TimedOut ✅TimedOut ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ❌500 ✅ClosedByServer ✅400 ⚠️200 ✅400 ✅400 ✅400 ⚠️200 ❌500 ⚠️200 ✅TimedOut
Traefik ✅400 ❌200 ❌200 ❌200 ✅400 ✅400 ✅TimedOut ✅TimedOut ❌200 ❌200 ✅400 ❌200 ✅400 ✅400 ✅400 ❌200 ✅ClosedByServer ✅400 ⚠️200 ⚠️200 ❌200 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅200
Uvicorn ✅400 ❌200 ❌200 ❌200 ✅400 ✅400 ✅TimedOut ✅TimedOut ❌200 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ✅400 ⚠️200 ⚠️200 ✅400 ⚠️200 ⚠️200 ⚠️200 ⚠️200 ✅TimedOut
Watson ✅400 ❌TimedOut ✅400 ✅400 ✅TimedOut ✅400 ✅TimedOut ✅TimedOut ✅400 ❌TimedOut ✅400 ✅TimedOut ✅400 ✅400 ✅400 ✅TimedOut ✅505 ✅400 ❌TimedOut ❌TimedOut ✅TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ❌TimedOut ✅TimedOut

Commit: cab78b3

@MDA2AV
MDA2AV merged commit 1fb453b into main Feb 13, 2026
1 check failed
@MDA2AV
MDA2AV deleted the feature/header-normalization branch February 14, 2026 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant