„Ставите уобичајен случај први“ је непотпун савет за 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.

Повезани чланци