« Placez d'abord le cas courant » est un conseil incomplet pour un fichier PAC. Le premier return termine la décision. Quand des règles se chevauchent, leur ordre fait partie de la politique de routage.

Prenons un proxy privé pour un service et une route directe pour le reste de son domaine :

function FindProxyForURL(url, host) {
    host = host.toLowerCase();
    if (host === 'restricted.example.net') {
        return 'PROXY proxy.example.net:8080';
    }
    if (dnsDomainIs(host, '.example.net')) {
        return 'DIRECT';
    }
    return 'PROXY proxy.example.net:8080';
}

Les noms sont des exemples. Déplacer le test de suffixe large au-dessus de l'exception d'hôte exact envoie le service restreint en direct. Le script peut être plus court ou plus rapide tout en faisant la mauvaise chose.

Regroupez les conditions sans perdre la priorité

Quand une grande liste est réellement un ensemble de noms d'hôtes exacts, de même rang et à résultat unique, une structure de recherche adaptée peut être plus claire que des tests de motifs répétés. Cette équivalence doit d'abord être établie. Un nom exact, un wildcard et une règle de plage d'adresses n'appartiennent pas automatiquement à un ensemble interchangeable.

De même, supprimer www. est un changement de politique si les deux noms utilisent volontairement des routes différentes. Optimiser une comparaison de chaînes ne devrait pas redéfinir la destination en silence.

Supprimez le travail coûteux dont la décision n'a pas besoin

Un test d'égalité de nom d'hôte n'exige pas de DNS. Ne résolvez que lorsque la politique restante a besoin d'une adresse, et évitez de répéter la même recherche dans une évaluation là où l'environnement PAC pris en charge autorise la réutilisation.

Gardez un petit ensemble de décisions attendues à côté du fichier : l'exception précise, un frère sous le suffixe large, un nom d'hôte sans rapport et les littéraux d'adresse pertinents. Comparez la route renvoyée et l'ordre des éventuelles entrées de repli, pas seulement si le JavaScript s'analyse. Une fois ces résultats concordants, vérifiez que le navigateur a chargé le PAC révisé.

Une amélioration de performance est convaincante quand les mêmes cas conservent leurs routes prévues et que le travail inutile disparaît. Des raccourcis DIRECT larges peuvent faire disparaître un délai tout en changeant l'IP de sortie.

Articles similaires