„Ставете го вообичаениот случај прв“ е нецелосен совет за PAC датотека. Првиот return ја завршува одлуката. Кога правилата се преклопуваат, нивниот редослед е дел од политиката за рутирање.

Земете приватен прокси за една услуга и директен правец за остатокот од нејзиниот домен:

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

Имињата се примери. Преместувањето на широката проверка на суфиксот над исклучокот за точниот хост ја испраќа ограничената услуга директно. Скриптата може да биде пократка или побрза, но да го прави погрешното.

Групирајте ги условите без да изгубите приоритет

Кога големата листа навистина е множество од точни имиња на хостови со ист ранг и еден резултат, соодветна структура за пребарување може да биде појасна од повторените проверки на шаблони. Таа еквивалентност прво треба да се докаже. Точно име, wildcard и правило за опсег на адреси не припаѓаат автоматски на едно заменливо множество.

Исто така, отстранувањето на www. е промена на политиката ако двете имиња намерно користат различни правци. Оптимизирањето на споредба на низи не треба тивко да ја редефинира дестинацијата.

Отстранете ја скапата работа што одлуката не ја бара

Проверката за еднаквост на името на хостот не бара DNS. Решавајте само кога останатата политика бара адреса и избегнувајте повторување на истото пребарување во една проценка каде поддржаната PAC околина дозволува повторна употреба.

Држете мало множество очекувани одлуки покрај датотеката: конкретниот исклучок, брат под широкиот суфикс, неврзано име на хост и релевантните адресни литерали. Споредете го вратениот правец и редоследот на резервните записи, не само дали JavaScript се парсира. Кога тие резултати ќе се совпаднат, проверете дали прелистувачот ја вчитал ревидираната PAC.

Подобрувањето на перформансите е убедливо кога истите случаи ги задржуваат предвидените правци и непотребната работа исчезнува. Широките DIRECT кратенки можат да го отстранат доцнењето додека ја менуваат излезната IP.

Поврзани статии