Shorenet protocol fixtures — edge

Endpoints that return a fixed, documented HTTP shape, for testing protocol tooling. Every response is deterministic: the same request returns the same bytes. Each endpoint is reachable over HTTP/1.1, HTTP/2 and HTTP/3 — your client chooses by ALPN.

This host sits behind a CDN, so what you see is a commercial edge's TLS and HTTP implementation serving these shapes. The same fixtures, plus handshake-level ones (older TLS versions, non-HTTP ALPN, QUIC Retry, WebTransport), are served directly from lab.shorenet.co.uk and its sub-names.

EndpointBehaviour
/f/ce-identityHTTP 200, Content-Encoding: identity, 43-byte image/gif.
/f/ce-noneHTTP 200, Content-Encoding: none, same 43-byte body, not transformed.
/f/ce-utf8HTTP 200, Content-Encoding: utf-8, body not transformed. Set the length with ?v=626 or ?v=7132.
/f/ce-gzipHTTP 200, a correctly gzip-encoded body.
/f/ce-gzip-mislabelledHTTP 200, gzip bytes labelled Content-Encoding: deflate.
/f/status-A bare response at that status. 200, 204, 206, 304, 404 and 500.
/f/bulk-bodyHTTP 200, a large deterministic body. Set the size in megabytes with ?v=2, 8 or 32.
/f/sse-trickletext/event-stream, a fixed number of events at a fixed spacing, stream left open. Set count with ?n= and the gap in milliseconds with ?ms=.
/f/body-slowHTTP 200, body written one byte at a time, 50 ms apart. Set the length with ?n=.
/f/h1-keepalive-gzipHTTP 200, gzip body, Content-Length set, connection kept alive. Request it repeatedly on one connection.
/f/ws-echoWebSocket upgrade, then a byte-exact echo of every frame.
/f/ws-ce-noneWebSocket upgrade whose 101 carries Content-Encoding: none.
/f/ech-h3HTTP 200, text/plain. Reachable over HTTP/1.1, HTTP/2 and HTTP/3.