Skip to content
← Systems Foundations

Practical lab guide

Lab: observe the MicroBank URL and a browser response

Collect a bounded browser trace and separate observed behavior from inferred infrastructure.

Documentation reviewed2026-10-26 · 5 min read · lab time varies
  1. Why
  2. Predict
  3. Try
  4. Inspect
  5. Explain
  6. Save evidence

Predict before you try

Does a successful page response establish that every asset and the full MicroBank transaction succeeded?

Try it: Use the browser you already have →
On this page

First-session route

If you have not yet captured an observation, open the prepared MicroBank exercise first. Its two scenarios provide a repeatable comparison without a deployed backend. Keep that prepared trace separate from the real website observations below.

Use the browser you already have

This first lab needs no Linux VM or cloud account. Use a normal browser with developer tools. Work only with your own browsing session and keep observations free of cookies, authorization headers, or personal search history. A short written record is enough; a full HAR export can contain more information than you intend to publish.

In Chrome, open Developer Tools → Network and enable Preserve log before navigating. Other browsers offer equivalent tools. You can clear only the displayed request list to make the exercise readable; do not clear all browser data. Chrome network inspection↗.

1. Record the project URL, then separate search from navigation

Navigate directly to https://microbank.learnwithsk.dev/ and record the observed result. If DNS, TLS, or HTTP fails, name that stage and do not invent a page/status/asset. For the document-and-asset part below, use https://learnwithsk.dev/ as an explicitly labelled comparison target when the project endpoint cannot supply it. Even when MicroBank returns a page, inspect whether it is a project/edge page before calling it application evidence.

Keep the original search-versus-navigation comparison:

Open Google's search page and type microbank.learnwithsk.dev into its search field. Submit once. Record the destination hostname for the search/results traffic. If a suitable result is shown, inspect its destination before opening it; result links can include an intermediate redirect. If it is absent, record that fact and enter https://microbank.learnwithsk.dev/ directly. If the project URL is unavailable, use the labelled comparison target described above to complete the document/asset observation. Do not invent a ranking or result.

Inspect the main document request to the website. Record:

FieldYour observation
Timestamp/browserActual run context
Requested and final URLInclude any observed redirect
Method and response statusMain document, separately from assets
ProtocolSuch as h2 or h3 if your browser exposes it
Remote addressThe endpoint observed, not an asserted origin server
Cache/source and transferNetwork, memory/disk cache, or another observed source
TimingDNS/connect/TLS when shown, response wait, content download

A missing DNS or TLS timing segment may reflect connection reuse, caching, or unavailable instrumentation. It does not mean DNS or TLS was unnecessary for the connection.

2. Follow one additional resource

Choose one script, stylesheet, image, or font request made by the page. Use its Initiator information to see why it was requested. Compare hostname, protocol, status, and timing with the main document. Do not assume every resource shares an endpoint.

Reload once with normal caching. Compare the two observations. If you deliberately disable the browser cache for a comparison, record that setting and restore it afterwards. Browser response-wait time includes network and server/proxy work; it is not a direct measurement of origin application execution alone.

3. Optional terminal comparison

This is optional now; return after the Linux networking module if the commands are unfamiliar. From a terminal with dig and curl available, make one bounded request:

bash
dig +time=3 +tries=1 microbank.learnwithsk.dev A
dig +time=3 +tries=1 microbank.learnwithsk.dev AAAA
curl --connect-timeout 5 --max-time 15 --max-redirs 5 \
  --location --silent --show-error --output /dev/null \
  --write-out 'status=%{http_code} ip=%{remote_ip} http=%{http_version} final=%{url_effective}\n' \
  https://microbank.learnwithsk.dev/

Capture its exit status immediately with printf 'curl exit status: %s\n' "$?". If name resolution fails, status=000 is curl’s placeholder, not a server response. Repeat against the labelled comparison URL only when needed for the browser exercise.

The command follows up to five redirects and reports the final transfer; inspect browser entries for the full chain. A curl transport failure has a nonzero exit status; an HTTP error response does not by itself make this invocation fail. Inspect both. Curl's build, resolver, proxy, and connection negotiation can differ from the browser. Do not disable TLS verification to force a success. curl options↗.

Packet capture and route tracing are not required. Later network diagnosis adds host-side checks. No captured request can reveal every hidden server behind a proxy.

Interpret a small observation before writing the conclusion

For example, suppose the document row shows 200, an image row shows 404, and the second document request shows a cached response. That would support three separate statements: an HTTP component served the document; the selected image URL did not return its requested resource; the browser reused or validated stored content according to the displayed cache information. It would not establish the origin's physical location or prove that all other requests succeeded. These are hypothetical observations, not results to copy.

Check your own record with three questions. Did you distinguish the search destination from the website? Did you name which request each status belongs to? Did you mark a missing timing field as unknown/reused rather than zero-cost work? If one answer is no, revisit that browser row before proceeding. A meaningful first entry can be short: one document, one asset, and a clearly stated uncertainty.

Checkpoint and handoff

Write a short “what I observed” account: search destination, website request, one asset, one cache/connection observation, and two unknowns. Add a separate conceptual packet/OSI diagram. Label inferred components instead of presenting them as measured facts.

This becomes the first evidence entry for your MicroBank foundations record. Continue to Virtualization and hypervisor types to prepare the machine for the local learning fixtures.

Status is documentation-reviewed; no fixed IP, route, response, or search result is promised for your run.

Apply this to MicroBank

Keep the real LearnWithSK document/asset observations, then add a MicroBank request sketch to the same evidence record. Mark the sketch source-derived, because you have not opened a running MicroBank profile yet. List what a later application test must add: the caller URL, Accounts response, and matching Ledger result. Your browser lab establishes observation skills, not transaction success.

Keep this observation in the MicroBank readiness project.

Prove what you learned

Inspect the result

Record one request, its status, its source and one explicit unknown.

Explain it in your own words

Explain why your observation supports the stated outcome, and name one thing it does not prove.

Try a small variation

Compare a successful document with a failed asset or paused Ledger fixture; explain which result changes.

Your evidence should show

  • Record the context/revision or label the work as a paper or prepared fixture.
  • Compare the prediction with the actual result from “Use the browser you already have”.
  • Record one request, its status, its source and one explicit unknown.
  • Explain the transfer challenge and retain the same verification question.
Hint

Name which request and component each observation describes.

Answer guide: compare after predicting

No. Inspect document, asset and saved transaction results separately.

Compare this with your actual observation. A paper answer is useful reasoning practice; record execution separately.

Recall the distinction between a browser request and the application data path. Revisit the previous lesson.

Save the prediction, result and explanation ↓

Your notes and evidence

Record observations, questions, or links to your work. Keep credentials out of your notes.

Loading saved progress…

Back up or restore this path

Progress and notes stay in this browser. A backup contains only this learning path.