v145 · Privacy · Networking · demo
Connection Queue Simulator
Simulate a burst of parallel HTTP/1.1 requests against a fixed or randomized TCP connection pool. Watch requests queue when the pool fills, and compare with HTTP/2 mode where all requests multiplex over one connection with no queuing — the real reason to upgrade.
Chrome 145: the per-origin TCP pool limit is now randomized each session (was a fixed 6). This closes a fingerprinting vector. For performance, HTTP/2 and HTTP/3 eliminate this limit entirely — multiplexing all requests over a single connection.
Set pool limit and request count · pick HTTP/1.1 or HTTP/2 mode · click Run · watch requests flow through the pool
Connection pool
—
Active connections (pool)
Queued (waiting for pool slot)
Done
Event log
—Run a simulation
// TCP socket pool — Chrome 145 change summary:
//
// HTTP/1.1: per-origin pool limit was fixed at 6 (predictable, fingerprintable)
// Chrome 145: pool limit is randomized per session (e.g. 5–8)
//
// Impact: connection-counting fingerprint probe no longer identifies Chrome reliably
//
// For developers: use HTTP/2 or HTTP/3 instead of optimising for pool limits
// HTTP/2 multiplexes all requests over ONE connection — no queuing, no pool limit
// Detecting actual concurrency from JS (illustrative — not a reliable limit probe):
const entries = performance.getEntriesByType('resource');
const origins = new Map();
entries.forEach(e => {
const o = new URL(e.name).origin;
const arr = origins.get(o) ?? [];
// connectStart of 0 and no new TCP conn means connection reuse
arr.push({ start: e.startTime, connectStart: e.connectStart });
origins.set(o, arr);
});