Hacker DirectoryHacker Directory

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.

  1. 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.

  2. 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.

  3. 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.