Dns resolution is a process that the browser has to undertake to convert a domain/hostname to an ip address required to access a resource (this process is what converts a user friendly url like: http://www.medium.com to http://188.8.131.52 ); this requires a certain time and adds to the page loading process. An average dns loookup takes an average of ‘60-120ms’ followed by a full roundtrip to perform the TCP handshake which can add up to ‘100-200ms’ just to send a request for a file. Slow mobile experiences are in part due to much longer full round trips ‘200-1000ms’.
DNS preresolution/prefetching is the process of figuring out the IP address of every resource on the page before the browser makes it’s request, with the goal to save the DNS resolution time when the resource is requested.
<meta http-equiv='x-dns-prefetch-control' content='on'>
<link rel='dns-prefetch' href='http://g-ecx.images-amazon.com'>
<link rel='dns-prefetch' href='http://z-ecx.images-amazon.com'>
<link rel='dns-prefetch' href='http://ecx.images-amazon.com'>
<link rel='dns-prefetch' href='http://completion.amazon.com'>
<link rel='dns-prefetch' href='http://fls-na.amazon.com'>
As we’ve seen above, chrome in some cases makes this automatically, but even in those cases we can help him do it’s job by telling him what to look for, by giving him insights that are specific to our website.