Le système de noms de domaines (DNS) fait correspondre les noms d'hôtes en adresses IP, tout comme les carnets d'adresse font correspondre les noms des personnes à leurs numéros de téléphone. Lorsque vous tapez www.yahoo.com dans votre navigateur, un résolveur DNS contacté par le navigateur renvoie l'adresse IP de ce serveur. Les requêtes DNS ont un coût. Il faut généralement 20 à 120 millisecondes à un serveur DNS pour rechercher l'adresse IP d'un nom d'hôte donné. Le navigateur ne peut rien télécharger depuis cet hôte tant que la recherche DNS n'est pas terminée.
Les recherches DNS sont mises en cache pour améliorer les performances. Cette mise en cache peut se produire sur un serveur de mise en cache dédié maintenu par le réseau du FAI ou local de l'utilisateur. Il y a aussi la mise en cache qui se produit sur l'ordinateur de l'utilisateur. Les informations DNS restent dans le cache DNS du système d'exploitation (le «service Client DNS» sur Microsoft Windows). La plupart des navigateurs ont leurs propres caches distincts de la mémoire cache du système d'exploitation. Tant que le navigateur conserve un enregistrement DNS dans son propre cache, ça ne dérange pas le système d'exploitation avec une demande d'enregistrement.
Par défaut, Internet Explorer met en cache les recherches DNS pendant 30 minutes, comme spécifié par le paramètre DnsCacheTimeout
de la base des registres. Firefox met en cache les recherches DNS pendant 1 minute, contrôlé par le paramètre de configuration network.dnsCacheExpiration
. (Fasterfox change ce paramètre à 1 heure.)
Lorsque le cache DNS du client est vide (à la fois le navigateur et le système d'exploitation), le nombre de requêtes DNS est égal au nombre de noms d'hôtes uniques dans la page web. Cela inclut les noms d'hôtes utilisés dans l'URL de la page, des images, des fichiers de scripts, feuilles de style, objets Flash, etc. Réduire le nombre de noms d'hôtes uniques réduit le nombre de requêtes DNS.
Réduire le nombre de noms d'hôtes uniques peut réduire le nombre de téléchargements parallèles effectués par la page. Limiter les recherches DNS réduit les temps de réponse mais la réduction du nombre de téléchargements parallèles peut augmenter les temps de réponse. Ma ligne directrice est de diviser ces composants sur au moins deux mais pas sur plus de quatre noms d'hôtes. Il en résulte un bon compromis entre réduction des requêtes DNS et pourcentage élevé de téléchargements parallèles.