PAC schneller machen, ohne seine Antworten zu ändern
Überlappende Ausnahmen und die Reihenfolge der Fallbacks erhalten und unnötige PAC-Auswertung reduzieren.
„Den Normalfall zuerst“ ist für eine PAC-Datei ein unvollständiger Rat. Das erste return beendet die Entscheidung. Überschneiden sich Regeln, gehört ihre Reihenfolge zur Routing-Richtlinie.
Betrachten Sie einen privaten Proxy für einen Dienst und eine direkte Route für den Rest seiner Domain:
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';
}Die Namen sind Beispiele. Wird die breite Suffixprüfung über die Ausnahme für den exakten Host geschoben, geht der gesperrte Dienst direkt hinaus. Das Skript kann kürzer oder schneller sein und dabei das Falsche tun.
Bedingungen gruppieren, ohne Vorrang zu verlieren
Wenn eine große Liste wirklich eine Menge exakter, gleichrangiger Hostnamen mit einem Ergebnis ist, kann eine passende Nachschlagestruktur klarer sein als wiederholte Musterprüfungen. Diese Gleichwertigkeit muss zuerst belegt werden. Ein exakter Name, ein Wildcard und eine Adressbereichsregel gehören nicht automatisch zu einer austauschbaren Menge.
Ebenso ist das Entfernen von www. eine Richtlinienänderung, wenn beide Namen absichtlich verschiedene Routen nutzen. Die Optimierung eines String-Vergleichs sollte das Ziel nicht stillschweigend neu definieren.
Teure Arbeit entfernen, die die Entscheidung nicht braucht
Eine Gleichheitsprüfung des Hostnamens benötigt kein DNS. Lösen Sie nur auf, wenn die verbleibende Richtlinie eine Adresse braucht, und vermeiden Sie die Wiederholung derselben Abfrage innerhalb einer Auswertung, wo die unterstützte PAC-Umgebung Wiederverwendung erlaubt.
Halten Sie einige erwartete Entscheidungen neben der Datei bereit: die konkrete Ausnahme, einen Nachbarn unter dem breiten Suffix, einen unabhängigen Hostnamen und relevante Adressliterale. Vergleichen Sie die zurückgegebene Route und die Reihenfolge der Fallback-Einträge, nicht nur, ob das JavaScript parst. Stimmen diese Ergebnisse, prüfen Sie, ob der Browser die überarbeitete PAC geladen hat.
Eine Leistungsverbesserung überzeugt, wenn dieselben Fälle ihre beabsichtigten Routen behalten und unnötige Arbeit verschwindet. Breite DIRECT-Abkürzungen können eine Verzögerung verschwinden lassen und dabei die Ausgangs-IP ändern.