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.
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; charset=utf-8
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)