Have you seen testserver.host/? As part of building HTTP Toolkit I often need a remote servers for testing edge cases, so I've built one! Now fairly mature & stable. It's httpbin.org plus badssl.com plus lots of extras.
Post
Faster & more reliable? 1. Horizontal autoscaling & globally distributed: low latency everywhere, failover, easy to scale. 2. Cert issuance 100% automated, with ACME and a local CA (many badssl cases need manual setup, and so rot: failing due to expiry, not the real cause).
0 reposts0 likes
End result: on my local machine & wifi, curl -kv expired.badssl.com/ takes more than a second, and httpbin.org/anything takes 2.2s. expired.testserver.host/anything takes about 150ms 🚀
Chainable endpoints? HTTP: testserver.host/info/123/delay/1/status/404 - return a 123 intermediate status, wait 1 second, then return a 404 TLS: incomplete-chain--expired--http2.testserver.host: give me an expired cert, missing the intermediate cert in the chain, and exclusively negotiate HTTP/2.
And combine them too! revoked--tls-v1-2.testserver.host/ws/message/hello/message/goodbye/close A websocket server that only supports TLS v1.2 and uses a revoked certificate - once you connect, it sends hello, then sends goodbye, then closes the connection.
Ever wonder what HTTP/1 and HTTP/2 data looks like for the exact same request? http1.testserver.host/echo http2.testserver.host/echo HTTP/1 is a raw string, HTTP/2 includes parsed JSON per frame, with the raw data in the `payload_hex` field.