Haz el PAC más rápido sin cambiar sus respuestas
Conserva las excepciones solapadas y el orden alternativo reduciendo el trabajo innecesario de evaluación del PAC.
«Pon primero el caso común» es un consejo incompleto para un archivo PAC. El primer return termina la decisión. Si las reglas se solapan, su orden forma parte de la política de rutas.
Piensa en un proxy privado para un servicio y una ruta directa para el resto de su dominio:
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';
}Los nombres son ejemplos. Mover la comprobación amplia de sufijo por encima de la excepción del host exacto envía el servicio restringido directamente. El script puede ser más corto o más rápido mientras hace lo incorrecto.
Agrupa las condiciones sin perder la precedencia
Cuando una lista grande es realmente un conjunto de nombres de host exactos, de igual rango y con un solo resultado, una estructura de búsqueda adecuada puede ser más clara que las comprobaciones repetidas de patrones. Esa equivalencia debe establecerse primero. Un nombre exacto, un wildcard y una regla de rango de direcciones no pertenecen automáticamente a un conjunto intercambiable.
Del mismo modo, quitar www. es un cambio de política si los dos nombres usan rutas distintas a propósito. Optimizar una comparación de cadenas no debería redefinir el destino en silencio.
Elimina el trabajo costoso que la decisión no necesita
Una comprobación de igualdad de nombre de host no requiere DNS. Resuelve solo cuando la política restante necesite una dirección y evita repetir la misma consulta dentro de una evaluación donde el entorno PAC admitido permita reutilizarla.
Mantén un pequeño conjunto de decisiones esperadas junto al archivo: la excepción concreta, un hermano bajo el sufijo amplio, un nombre de host no relacionado y los literales de dirección relevantes. Compara la ruta devuelta y el orden de las entradas alternativas, no solo si el JavaScript se analiza. Cuando esos resultados coincidan, verifica que el navegador cargó el PAC revisado.
Una mejora de rendimiento convence cuando los mismos casos conservan sus rutas previstas y desaparece el trabajo innecesario. Los atajos DIRECT amplios pueden hacer desaparecer una demora mientras cambian la IP de salida.