DNS Resolution Adds Up
Briefly

DNS Resolution Adds Up
"One in particular has caught my fancy: DNS prefetching. It hasn't enjoyed the same spotlight as hints like preload in recent years, but it has a compelling advantage if the conditions are right - namely, if your site could possibly interact with third-party domains at any point of a page visit. Thinking through those conditions could reap satisfying gains of your own, as well as get you more familiar with DNS resolution as a whole - a key, ubiquitous component of the web."
"There's hard truth behind the "it's always DNS" meme that flares up every time there's a widespread network outage. It's a technology foundational to the web and yet inadvertently overlooked, making it real fun to catch when things go wrong. At a conceptual level, however, it's not the craziest thing to grasp. DNS is often reduced to being the "phone book of the internet." I think that's a great metaphor."
"The user fires off a request to picperf.io in the browser. It looks clear enough, but the domain is actually a facade. PicPerf's origin server lives at an IP address associated with that domain. That's what the browser needs to direct the request. So, before moving forward, we gotta look it up. That lookup process begins by going to a recursive DNS server. This is a sort of mediator between a client and the server holding the domain-to-IP association."
DNS prefetching is a resource hint that can reduce latency when a site might interact with third-party domains during a page visit. Evaluating where external domains may be contacted enables targeted prefetching and small front-end performance wins. DNS underpins the web and often causes visible outages when it fails. DNS functions like a phone book: browsers need an IP address for a domain before making requests. Browsers consult recursive DNS servers, which mediate queries and chase down authoritative servers holding records such as A, TXT, and CNAME. Understanding this flow supports effective use of prefetching.
Read at Alex MacArthur
Unable to calculate read time
[
|
]