„שימו את המקרה הנפוץ ראשון“ היא עצה חלקית לקובץ 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 היוצאת.

מאמרים קשורים