HTTP Redirect Chains
Redirect chains stack multiple hops before final content, each adding a round trip that mobile users pay in full; long chains are cached differently by browsers and crawlers.
Definition
A redirect chain is a sequence of 3xx responses where each hop resolves to another redirect before a 200. Each hop costs a DNS lookup, connection setup, and request round trip unless connections are warm and caching applies. Status codes differ in caching semantics and method preservation, and chain length degrades both latency and crawl equity.
Context and scope
Common after migrations, trailing-slash and case normalization, marketing tracking redirects, and mixed http to https upgrades layered on legacy links.
Common misconceptions
- A redirect is one quick hop — chains accumulate silently, and five hops on cold connections can cost seconds
- All redirects cache the same — permanent 301s are cached aggressively, while 302 and 307 have weaker default caching
- Browsers and crawlers follow chains the same way — crawlers cap chain depth and treat long chains as errors or signal dilution
Anti-patterns
- Layering http to https, www to apex, and tracking redirects into five-hop chains for every deep link
- Using 302 for permanent structure changes and paying the redirect cost on every visit
- Ignoring Vary and cache-control on intermediate hops and hitting cold chains on every navigation
Related concepts
Related examples
Authoritative source
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/308
What it is
Each redirect hop is a full request round trip before any content bytes. Cold caches add DNS and TCP plus TLS per hop. A five-hop chain on a 100-millisecond RTT mobile network burns a second of user patience before the page even starts.
How it works
301 and 308 signal permanence and invite long-lived caching; 302, 303, and 307 are temporary and cache more conservatively. Method preservation differs: 308 and 307 keep the method and body, while 301 and 302 historically allowed rewriting POST to GET. Browsers cache chains; crawlers cap depth.
When to care
Audit after every migration or domain consolidation. The fix is usually to make intermediate hops point directly at the final URL, update internal links to the canonical target, and ensure tracking parameters do not force extra hops.
Pitfalls
Measurement hides chains because each hop is a separate request in waterfall tools. Some intermediaries strip or rewrite redirects, changing behavior per network. Loops and cycles are the degenerate case: fix monitoring on redirect counts per entry URL.