Observe a bounded HTTP request
Compare a request's method, bounded content size, and safely normalized field values.
- messages
- methods
- request content
- fields
Prediction
Changing the method or adding fixed request content should change the normalized request description. A HEAD response should carry metadata without content.
Controlled observation
Choose a GET with Accept, a POST with a fixed text representation, or HEAD.
The Worker reports only the method, UTF-8 content byte count, and a small
allowlist of normalized field values.
Explanation
An HTTP message combines control data, fields, and optional content. This echo is intentionally incomplete: it demonstrates those parts without reflecting credentials, arbitrary fields, raw binary data, or visitor-selected content.
Controlled exercise
Run this observation
Compare the method, bounded body size, and allowlisted request fields the Worker received.
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/anything- Permitted headers
- Accept: application/json
- 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 200 OK
Content-Type: application/json
X-Lab-Scenario: anything
{"request":{"bodyBytes":0,"headers":{"accept":"application/json"},"method":"GET"},"scenario":"anything"}Timing is browser elapsed time. Fetch hides Set-Cookie, raw wire bytes, reliable compressed size, and some redirect details.
Portable examples
'curl' '--include' '--request' 'GET' '--header' 'Accept: application/json' 'https://lab.httpclarity.com/v1/anything'Scroll horizontally to read any long lines.const response = await fetch("https://lab.httpclarity.com/v1/anything", {
"method": "GET",
"headers": {
"Accept": "application/json"
}
});
console.log(response.status, await response.text());Scroll horizontally to read any long lines.<?php
$options = ['http' => [
'method' => 'GET',
'ignore_errors' => true,
'header' => 'Accept: application/json',
]];
$context = stream_context_create($options);
$body = file_get_contents('https://lab.httpclarity.com/v1/anything', 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)