Follow a bounded redirect chain

Compare a selected bounded chain with the final URL reported after automatic following.

  • redirects
  • diagnostics

Prediction

Each redirect resolves one Location value and creates another request until the fixed chain reaches its controlled final target.

Controlled observation

Choose a fixed one-, two-, or three-hop chain and compare the requested hop count with the final URL. The result panel shows only the final Fetch response; it does not reconstruct intermediate exchanges or provide a loop fixture.

Explanation

The final address alone hides redirect status, caching, and method choices made at earlier hops. Use the generated redirect-following cURL command or browser developer tools when the intermediate exchanges matter.

Controlled exercise

Run this observation

Compare the final URL with the requested fixed hop count; Fetch does not expose every intermediate response.

Interactive controls require JavaScript. The static response and portable examples remain available below.

Ready. No request has run.

Controlled request

Method
GET
URL
https://lab.httpclarity.com/v1/redirect-chain/1
Permitted headers
None
Body
None

Browser-observed response

No live response yet. The representative static example remains useful without JavaScript or the Worker.

Static response example

HTTP/1.1 302 Found
Location: /v1/redirect-target/chain
X-Lab-Scenario: redirect-chain

[first response in fixed 1-hop chain]

Timing is browser elapsed time. Fetch hides Set-Cookie, raw wire bytes, reliable compressed size, and some redirect details.

Portable examples

cURL
'curl' '--include' '--location' '--request' 'GET' 'https://lab.httpclarity.com/v1/redirect-chain/1'
Scroll horizontally to read any long lines.
Fetch API
const response = await fetch("https://lab.httpclarity.com/v1/redirect-chain/1", {
  "method": "GET",
  "redirect": "follow"
});
console.log(response.status, await response.text());
Scroll horizontally to read any long lines.
PHP
<?php
$options = ['http' => [
    'method' => 'GET',
    'ignore_errors' => true,
]];
$context = stream_context_create($options);
$body = file_get_contents('https://lab.httpclarity.com/v1/redirect-chain/1', false, $context);
var_dump($http_response_header, $body);
Scroll horizontally to read any long lines.

Need a full API client? Copy the generated cURL command, then import it in Hoppscotch. HTTPClarity sends no request data to Hoppscotch.

Continue in Hoppscotch (opens in a new tab)

Primary sources