Una consulta fallida no demostra que la destinació sigui fora de la vostra xarxa privada. Demostra que aquesta avaluació PAC no ha obtingut l'adreça que necessitava.

Aquesta distinció importa quan dnsResolve() alimenta una regla isInNet(). La implementació PAC de Chromium retorna null quan la resolució falla. No construïu la branca de fallada sobre el record que el resultat sempre és una cadena buida.

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

Aquest exemple envia els noms no resolts al proxy. És una decisió de política, no un valor per defecte segur universal. Pot ser útil quan el proxy té un resolutor o una visió de xarxa que el client no té. Una xarxa que requereix resolució local necessita un resultat explícit diferent.

Resoleu una vegada i reutilitzeu el resultat. Així la decisió queda lligada a un sol valor i s'evita repetir crides auxiliars potencialment lentes.

Comproveu també el consumidor real de PAC. Els auxiliars IPv4 heretats i els auxiliars IPv6 estesos tenen contractes diferents. Una regla provada amb la implementació d'un navegador no estableix suport a totes les aplicacions que fan servir la mateixa URL PAC.

Si el requisit és només encaminar un sufix d'empresa conegut, una regla de nom d'amfitrió pot evitar del tot la consulta. Recurriu a la classificació per adreça quan l'adreça és informació que la política realment necessita.

Articles relacionats