Il faut environ 20 à 120 millisecondes à DNS (système de noms de domaine) pour résoudre l'adresse IP pour un nom d'hôte ou un nom de domaine donné, et le navigateur ne peut rien faire tant que le processus n'est pas correctement terminé.
Avant qu'un navigateur puisse établir une connexion réseau à un serveur Web, il doit résoudre le nom DNS du serveur Web en une adresse IP. Étant donné que les résolutions DNS peuvent être mises en cache par le navigateur et le système d'exploitation du client, si un enregistrement valide est toujours disponible dans la mémoire cache du client, aucune latence n'est introduite. Toutefois, si le client doit effectuer une recherche DNS sur le réseau, la latence peut varier considérablement en fonction de la proximité d'un serveur de noms DNS pouvant fournir une réponse valide.
Alors ... comment/y a-t-il un moyen de réduire ces recherches DNS via une optimisation côté serveur ou autre chose? Suis-je impuissant ici ou cela dépend de la taille de la page Web/de mon fournisseur d'hébergement?
La recherche DNS a lieu bien avant que le client ait commencé à lire la page Web. Ne vous inquiétez donc pas de la taille de la page. Rappelez-vous que le DNS est essentiellement le processus de traduction d'un nom de domaine en une adresse IP, donc myexample.com --> 123.45.678.9
, et cette traduction doit avoir lieu avant que la page elle-même puisse être demandée à partir de l'adresse IP. La page peut être très petite ou extrêmement grande et la recherche DNS prendra le même temps.
Donc, si vous voulez réduire les temps de recherche DNS, vous devez vous assurer qu'il existe un serveur DNS très fiable, non loin du client. Cela pourrait signifier:
Personnellement, je ne vous encouragerais pas à héberger vos propres serveurs DNS à moins que vous sachiez vraiment ce que vous faites et que vous ayez une bonne raison de le faire. Dans presque tous les cas, le coût relativement bas de l'hébergement DNS dédié avec l'un des fournisseurs mentionnés ci-dessus en fera le meilleur choix.
En général, chaque résolveur DNS, comme Bind, possède un cache DNS. si x.x.x.x est mon serveur DNS, quand je tape
Dig A averyuncommonebsite.com @x.x.x.x
j'obtiens les deux premiers chiffres pour le temps de réponse. Ensuite, la deuxième fois que je le demande, je reçois une réponse en 1ms car la réponse est dans le cache de mon résolveur DNS qui est BIND. Vous pouvez donc créer votre propre résolveur DNS pour contrôler le temps de réponse DNS.