لا يُثبت البحث الفاشل أن الوجهة خارج شبكتك الخاصة. بل يُثبت أن هذا التقييم لـ PAC لم يحصل على العنوان الذي يحتاجه.

هذا التمييز مهم عندما يغذّي dnsResolve() قاعدة isInNet(). يعيد تنفيذ PAC في Chromium القيمة null عند فشل التحليل. لا تبنِ فرع الفشل على ادعاء محفوظ بأن النتيجة دائمًا سلسلة فارغة.

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

يرسل هذا المثال الأسماء غير المحلولة إلى الوسيط. هذا خيار سياسة وليس إعدادًا آمنًا عالميًا. قد يكون مفيدًا عندما يمتلك الوسيط مُحلِّلًا أو رؤية للشبكة لا يملكها العميل. أما الشبكة التي تتطلب حلًا محليًا فتحتاج إلى نتيجة صريحة مختلفة.

حلّ مرة واحدة وأعد استخدام النتيجة. يُبقي ذلك القرار مرتبطًا بقيمة واحدة ويتجنب تكرار نداءات مساعدة قد تكون بطيئة.

تحقق أيضًا من مستهلك PAC الفعلي. للمساعدات القديمة في IPv4 وللمساعدات الموسّعة في IPv6 عقود مختلفة. القاعدة التي جُرّبت مع تنفيذ متصفح واحد لا تُثبت الدعم في كل تطبيق يستخدم عنوان PAC نفسه.

إذا كان المطلوب مجرد توجيه لاحقة شركة معروفة، فقد تتجنب قاعدة اسم المضيف البحث بالكامل. استخدم التصنيف القائم على العنوان عندما تكون معلومات العنوان مطلوبة فعليًا في السياسة.

مقالات ذات صلة