Note 03 · Names
Keep names and addresses separate
A name is a durable label. An address is one answer about where to try a connection. Treating them as separate observations makes a problem easier to describe.
Two useful labels
A web address begins with a name that people can recognise and keep using. A resolver supplies the network address needed for a connection. The same name can have more than one answer, and an answer can change without changing the label people type.
When a request behaves unexpectedly, record the requested name and the returned address separately. An answer that looks familiar does not, by itself, establish that the service at that address is healthy.
A cache has a viewpoint
An answer may remain in a cache for a limited time. Two devices can therefore see different results because they asked different resolvers or asked at different moments. A difference is a clue about the path of the question, rather than proof that one device is broken.
Note which device and resolver supplied an answer before changing settings. If you repeat a lookup, keep the name and conditions stable so the comparison still means something.
Write down the boundary
Name resolution, connection establishment and an application response are different observations. A useful sentence identifies the boundary: the name resolved, the connection opened, or the requested page arrived. This avoids turning a successful first step into a claim that the entire request worked.