Navigation lente dans Internet Explorer en raison de plusieurs appels de fonction isInNet

Avertissement

L’application de bureau Internet Explorer 11, mise hors service et dont le support a pris fin, a été désactivée définitivement via une mise à jour Microsoft Edge sur certaines versions de Windows 10. Pour plus d’informations, consultez le forum aux questions sur la mise hors service de l’application de bureau Internet Explorer 11.

Cet article vous aide à résoudre le problème dans lequel un problème entraîne la navigation d’internet Explorer plus lentement que prévu.

S’applique à : Internet Explorer 9, Internet Explorer 10
Numéro de la base de connaissances d’origine : 3140773

Symptômes

Prenons l’exemple du scénario suivant :

  • Internet Explorer est configuré pour utiliser un fichier PAC (Proxy Auto Configuration) ou WPAD pour les paramètres de proxy.

  • Le fichier PAC contient plusieurs appels à la isInNet() fonction, qui se présentent comme suit :

    function FindProxyForURL(url, host)
    {
    
        if (isInNet(host, "192.168.3.0","255.255.255.0")) ||
        isInNet(host, "10.10.1.0", "255.255.255.0") ||
        isInNet(host, "72.10.0.0", "255.255.0.0")) ||
        isInNet(host, "172.16.0.0", "255.255.0.0"))
        {
    
            return PROXY <proxyname:PORT>;
    
        }
    }
    

S’il existe plusieurs appels de ce type isInNet() dans le fichier PAC, l’accès à internet Explorer prend plus de temps que prévu pour accéder à une page web.

Cause

Ce problème se produit parce que les Explorer Internet doivent effectuer des appels supplémentaires au sous-système DNS pour déterminer l’adresse IP du paramètre hôte. Il doit le faire afin de comparer l’adresse IP du paramètre hôte à la plage d’adresses IP fournie dans l’appel de fonction isInNet() .

Résolution

Pour éviter ces appels supplémentaires au sous-système DNS chaque fois qu’un hôte est passé à l’appel isInNet() de fonction, prenez des mesures pour résoudre le nom d’hôte en adresse IP en dehors des isInNet() appels en passant l’adresse IP au lieu du nom d’hôte.

Pour ce faire, modifiez l’exemple de code dans la section Symptômes comme suit :

function FindProxyForURL(url, host)
{
    var resolved_IP = dnsResolve(host);
    if (isInNet(resolved_IP, "192.168.3.0","255.255.255.0")) ||
    isInNet(resolved_IP, "10.10.1.0", "255.255.255.0") ||
    isInNet(resolved_IP, "72.10.0.0", "255.255.0.0")) ||
    isInNet(resolved_IP, "172.16.0.0", "255.255.0.0"))
    {
        return PROXY <proxyname:PORT>;
    }
}

References

Pour plus d’informations, consultez Optimisation des performances avec des scripts de configuration de proxy automatique (PAC).