في PAC، يستخدم shExpMatch أحرف البدل بأسلوب الصدفة. للنطاقات الفرعية لـ example.com:

if (shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

استخدم نقاط نهاية HTTP التي اختارتها السياسة في قيم الإرجاع هذه؛ إذ توفّر قائمة وكلاء HTTP مرشحين للمسارات العامة المسموح بها. تطابق النجمة سلسلة من الأحرف، وهي ليست معامل تكرار في تعبير نمطي، لذا فإن .*example.com الذي يشبه التعابير النمطية يغيّر المعنى.

أدرج اسم النطاق الأب بدقة وبشكل صريح عندما يكون جزءًا من السياسة:

if (host === "example.com" || shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

استخدام *example.com بدلًا من ذلك سيقبل أيضًا أسماء تنتهي بتلك الحروف دون نقطة فاصلة. وهذا يوسّع المجموعة إلى ما يتجاوز حدود النطاق المقصودة.

يشمل الأساس المحمول لأحرف البدل في PAC كلا من * و?؛ أما فئات الأحرف فتختلف حسب التنفيذ. ويستخدم تعبير JavaScript النمطي بدلًا من ذلك test() وقواعده الخاصة للتثبيت والتهريب.

طابق المدخل المقصود. فـ host اسم مضيف، بينما url يتضمن مخططًا وقد يكون قد نُقّي. وينبغي ألا تعتمد قاعدة النطاق عن غير قصد على مسار لا يوفره المتصفح أبدًا.

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