WEB / ARTIFACT LAB
Find what a record actually says.
Inspect HTTP teaching text, URLs, Cookie, Set-Cookie and JSON fields. Edit, parse and select a field; input is processed as data in this browser.
Read a record through its fields.
Find what each field says in an HTTP, URL, Cookie or JSON record.
- Choose an example
Choose a record such as an HTTP response or URL from Example to inspect. Read the field names and values from its initial parsing.
- Open a field’s meaning
Select a field button and examine its value, path and explanation together. Use Next fields to inspect the rest of the record.
- Compare a change
Open Edit the raw text, change a URL query value for example, and select Parse text. Compare the value with the original; Restore example returns to the supplied record.
You can distinguish a field’s presence from evidence of system behavior and show which field your edit changed.
READ THE EXAMPLE TOGETHER
Two HTTP outcomes and local processing traces
Select a field and examine what it supports and where the evidence ends.
Read the raw artifact and field explanations
{
"representation": "HTTP/1.1 teaching text, CRLF-delimited; selected headers only",
"storageTransport": "in-process-call, seeded memory",
"exchanges": [
{
"case": "found",
"requestId": "demo-book-found",
"request": "GET /api/book?case=found HTTP/1.1\r\nHost: 127.0.0.1:4175\r\nAccept: application/json\r\n\r\n",
"response": "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\nContent-Length: 53\r\nCache-Control: no-store\r\nX-Lab-Request-Id: demo-book-found\r\n\r\n{\"book\":{\"id\":\"book-atlas\",\"title\":\"Atlas Notları\"}}",
"bodyUtf8Bytes": 53,
"trace": [
{
"seq": 1,
"actor": "handler",
"event": "request-received",
"requestId": "demo-book-found"
},
{
"seq": 2,
"actor": "handler",
"event": "route-selected",
"route": "/api/book"
},
{
"seq": 3,
"actor": "storage-adapter",
"event": "local-lookup",
"transport": "in-process-call"
},
{
"seq": 4,
"actor": "storage-adapter",
"event": "record-found"
},
{
"seq": 5,
"actor": "handler",
"event": "response-created",
"status": 200
}
],
"browserExpected": {
"fetch": "fulfilled-with-Response",
"status": 200,
"ok": true,
"body": "await response.json()",
"view": "book-title"
}
},
{
"case": "missing",
"requestId": "demo-book-missing",
"request": "GET /api/book?case=missing HTTP/1.1\r\nHost: 127.0.0.1:4175\r\nAccept: application/json\r\n\r\n",
"response": "HTTP/1.1 404 Not Found\r\nContent-Type: application/json\r\nContent-Length: 26\r\nCache-Control: no-store\r\nX-Lab-Request-Id: demo-book-missing\r\n\r\n{\"error\":\"BOOK_NOT_FOUND\"}",
"bodyUtf8Bytes": 26,
"trace": [
{
"seq": 1,
"actor": "handler",
"event": "request-received",
"requestId": "demo-book-missing"
},
{
"seq": 2,
"actor": "handler",
"event": "route-selected",
"route": "/api/book"
},
{
"seq": 3,
"actor": "storage-adapter",
"event": "local-lookup",
"transport": "in-process-call"
},
{
"seq": 4,
"actor": "storage-adapter",
"event": "record-missing"
},
{
"seq": 5,
"actor": "handler",
"event": "response-created",
"status": 404
}
],
"browserExpected": {
"fetch": "fulfilled-with-Response",
"status": 404,
"ok": false,
"body": "await response.json()",
"view": "not-found-message"
}
}
]
}- request / response
- HTTP/1.1 teaching representation, not raw DevTools capture; an empty CRLF line separates headers and body.
- Content-Length / bodyUtf8Bytes
- Body octets without compression, potentially different from Unicode character count.
- X-Lab-Request-Id / requestId
- Custom example correlation field, not an HTTP standard.
- trace[].actor / event / transport
- Server processing and local adapter calls, not network protocol records.
- browserExpected
- Distinct expected outcomes for HTTP Response, body reading and view.
Synthetic selected-header representation, not a complete RFC-compliant server transcript or claimed lab output. Date and other browser headers are omitted. HTTP/2–3 framing, packetization, DNS/TLS and real persistence are not modeled. If the real lab uses another correlation header, its implementation contract governs.
URL · path, query and fragment
https://books.example:8443/catalog/atlas?lang=tr&tag=network&tag=web#summary- host
- Host includes the explicit port: books.example:8443. Hostname remains books.example.
- origin
- An HTTP(S) origin is formed from scheme, hostname and effective port; path or query does not change this boundary.
- tag
- The query contains the tag name twice. Both fields are preserved; a single get result does not represent all values.
- hash
- The #summary fragment is present in the URL; it is not appended to the HTTP request target.
- httpOriginForm
- Path and query are shown together. Compare this value with the fragment, which is absent here.
Synthetic teaching text. Parsing shows URL fields or cookie pairs; it does not produce browser policy, storage or server session results.
Cookie · pairs sent in a request
hd_language=tr; hd_view=compact- hd_language
- A sent language preference. This name/value pair is neither an identity nor a book access permission.
- hd_view
- A second preference pair. Request Cookie text does not carry Path, HttpOnly or SameSite attributes back.
Synthetic teaching text. Parsing shows URL fields or cookie pairs; it does not produce browser policy, storage or server session results.
Set-Cookie · preference and scope in a response
hd_language=tr; Path=/- hd_language
- The response proposes a language preference. Reading the text does not prove the browser accepted and stored it.
- Path
- A scope attribute for request path matching. It is absent from request Cookie pairs and does not provide security isolation.
Synthetic teaching text. Parsing shows URL fields or cookie pairs; it does not produce browser policy, storage or server session results.