Et mislykket opslag beviser ikke, at destinationen er uden for dit private netværk. Det beviser, at denne PAC-evaluering ikke fik den adresse, den havde brug for.

Den forskel betyder noget, når dnsResolve() fodrer en isInNet()-regel. Chromiums PAC-implementering returnerer null, når opløsningen fejler. Byg ikke fejlgrenen på en erindring om, at resultatet altid er en tom streng.

function FindProxyForURL(url, host) {
    var address = dnsResolve(host);
    if (!address) {
        return "PROXY proxy.example:8080";
    }
    if (isInNet(address, "10.40.0.0", "255.255.0.0")) {
        return "DIRECT";
    }
    return "PROXY proxy.example:8080";
}

Dette eksempel sender uopklarede navne til proxien. Det er et politikvalg, ikke en universel sikker standard. Det kan være nyttigt, når proxien har en resolver eller et netværkssyn, som klienten ikke har. Et netværk, der kræver lokal opløsning, har brug for et andet eksplicit resultat.

Opløs én gang, og genbrug resultatet. Det holder beslutningen knyttet til én værdi og undgår at gentage potentielt langsomme hjælpeopkald.

Kontroller også den faktiske PAC-forbruger. Ældre IPv4-hjælpere og udvidede IPv6-hjælpere har forskellige kontrakter. En regel, der er testet med én browsers implementering, beviser ikke understøttelse i enhver applikation, der bruger den samme PAC-URL.

Hvis kravet blot er at rute et kendt virksomhedssuffiks, kan en værtsnavnregel helt undgå opslaget. Brug adressebaseret klassificering, når adressen er information, som politikken virkelig har brug for.

Relaterede artikler