Dans l'expérience Web, nous rencontrons souvent cette situation, c'est-à-dire que lorsque vous appelons Baidu Alliance, Google Alliance et les fichiers de nom de domaine en dehors du nom de domaine où se trouve la page Web actuelle, nous rencontrerons un délai de demande très grave. Y a-t-il donc un moyen de résoudre ce phénomène de retard de demande grave? Qu'est-ce que DNS préfeccié
DNS implémente le mappage de nom de domaine à IP. L'accès au site via un nom de domaine nécessite une résolution DNS pour chaque demande. Actuellement, chaque résolution DNS est généralement inférieure à 200 ms. En réponse au problème long de la résolution DNS, certains navigateurs utilisent la préfetch DNS pour améliorer la maîtrise de l'accès.
La préfetch DNS est une technologie de pré-résolution DNS. Lors de la navigation sur une page Web, le navigateur résoudra et mettra en cache les noms de domaine de la page Web lors du chargement de la page Web. De cette façon, lorsque vous cliquez sur la connexion dans la page Web actuelle, il n'est pas nécessaire de résoudre le DNS, de réduire le temps d'attente des utilisateurs et d'améliorer l'expérience utilisateur.
Actuellement, les navigateurs qui prennent en charge la préfetch DNS incluent Google Chrome et Firefox 3.5
Si vous souhaitez analyser un nom de domaine spécifique du côté du navigateur, vous pouvez ajouter une balise de lien à la page pour l'implémenter. Par exemple:
<link rel = dns-prefetch href = http: //img.vevb.com />
Si vous souhaitez contrôler si le côté du navigateur pré-résolve le nom de domaine, vous pouvez le contrôler via l'attribut x-dns-préfetch-control de l'en-tête HTTP.
Malheureusement, seul Google Chrome et Firefox3.5 prennent en charge les balises ci-dessus
De manière générale, la raison de ce retard n'est pas la bande passante ou le chargement du site Web de l'autre partie, alors ce qui cause exactement cette situation. Zalan a essayé de spéculer, en supposant que c'était un problème avec le DNS, car la vitesse de résolution du DNS est probablement la plus grande cause de retard de ressources. Ainsi, Zaolan a ajouté le code suivant à l'en-tête de la page (utilisé comme pré-battant DNS):
<meta http-equiv = x-dns-prefetch-control content = on />
<link rel = dns-prefetch href = http: //bdimg.share.baidu.com />
<link rel = dns-préfetch href = http: //nsclick.baidu.com />
<link rel = dns-prefetch href = http: //hm.baidu.com />
<link rel = dns-prefetch href = http: //eiv.baidu.com />
<link rel = dns-prefetch href = http: //img.vevb.com />
L'effet est très bon (le navigateur de test est IE8), et le chargement des boutons de partage Baidu est considérablement amélioré lors de l'ouverture d'autres pages!
Apprenons brièvement sur DNS-Prefetch:
En tant que protocole de base d'Internet, le DNS semble être facilement négligé par le personnel d'optimisation du site Web. Maintenant, la plupart des nouveaux navigateurs ont été optimisés pour la résolution DNS. Une résolution DNS typique prend 20 à 120 millisecondes. La réduction du temps et du nombre de résolution DNS est un bon moyen d'optimiser. La préfecture DNS est un nom de domaine avec cet attribut qui ne nécessite pas que l'utilisateur clique sur le lien pour résoudre en arrière-plan. La résolution du nom de domaine et le chargement du contenu sont des opérations de réseau série, de sorte que cette méthode peut réduire le temps d'attente de l'utilisateur et améliorer l'expérience utilisateur.
Le premier nom de domaine du navigateur DNS et le processus de recherche pour le site Web est:
Browser Cache-System Cache-Router Cache-Isp DNS Cache-Recursive Search
Nom de domaine Processus de recherche de résolution DNS
Chrome possède une technologie DNS intégrée et Firefox 3.5 introduit également cette fonctionnalité. Étant donné que Chrome et Firefox 3.5 eux-mêmes ont optimisé la pré-résolution DNS en conséquence, l'un des effets négatifs du réglage de la pré-résolution DNS est qu'il peut réduire l'expérience utilisateur de Google Chrome Browser et du navigateur Firefox Firefox 3.5.
Préparer la mise en œuvre:
1. Utilisez Meta Informations pour informer le navigateur que la page actuelle doit être pré-parsemée par DNS: <META HTTP-Equiv = X-DNS-Prefetch-Control Content = on />
2. Utilisez des balises de liaison dans l'en-tête de la page pour forcer les DNS pré-parentaux: <link rel = dns-prefetch href = http: //bdimg.share.baidu.com />
Remarque: DNS-Prefetch doit être utilisé avec prudence. La répétition de pré-résolution DNS sur plusieurs pages augmentera le nombre de requêtes DNS répétées.
PS: la pré-résolution DNS est principalement utilisée pour l'optimisation des pages frontales du site Web. Son rôle dans le référencement n'a pas encore été vérifié, mais dans le cadre de l'amélioration de l'expérience utilisateur, rel = dns-préfetch peut être digne de découverte.