“Sæt det almindelige tilfælde først” er et ufuldstændigt råd til en PAC-fil. Den første return afslutter beslutningen. Når regler overlapper, er deres rækkefølge en del af ruteringspolitikken.

Overvej en privat proxy til én tjeneste og en direkte rute til resten af dens domæne:

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';
}

Navnene er eksempler. Flyttes den brede suffikskontrol over undtagelsen for det præcise værtsnavn, sendes den begrænsede tjeneste direkte. Scriptet kan være kortere eller hurtigere, mens det gør det forkerte.

Gruppér betingelserne uden at miste forrang

Når en stor liste virkelig er et sæt præcise værtsnavne af samme rang med ét udfald, kan en passende opslagsstruktur være klarere end gentagne mønsterkontroller. Den ækvivalens skal fastslås først. Et præcist navn, et wildcard og en adresseintervalregel hører ikke automatisk til ét udskifteligt sæt.

På samme måde er fjernelse af www. en politikændring, hvis de to navne bevidst bruger forskellige ruter. Optimering af en strengsammenligning bør ikke lydløst omdefinere destinationen.

Fjern dyrt arbejde, som beslutningen ikke har brug for

En lighedskontrol af værtsnavn kræver ikke DNS. Slå kun op, når den resterende politik har brug for en adresse, og undgå at gentage det samme opslag inden for én evaluering, hvor det understøttede PAC-miljø tillader genbrug.

Hold et lille sæt forventede beslutninger ved filen: den specifikke undtagelse, en søster under det brede suffiks, et uvedkommende værtsnavn og relevante adresselitteraler. Sammenlign den returnerede rute og rækkefølgen af eventuelle reserveposter, ikke blot om JavaScript parses. Når disse resultater stemmer, bekræft, at browseren har indlæst den reviderede PAC.

En ydeevneforbedring er overbevisende, når de samme tilfælde beholder deres tilsigtede ruter, og unødvendigt evalueringsarbejde forsvinder. Brede DIRECT-genveje kan få en forsinkelse til at forsvinde, mens udgangs-IP'en ændres.

Relaterede artikler