በPAC ደንብ ውስጥ የDNS ውድቀትን መያዝ
ያልተሳካ የPAC DNS ፍለጋ ከአካባቢው አውታረ መረብ ውጭ የተረጋገጠ አድራሻ አድርጎ ከመውሰድ ይልቅ የራሱን የፖሊሲ ቅርንጫፍ ይስጠው።
ያልተሳካ ፍለጋ መዳረሻው ከግል አውታረ መረብህ ውጭ መሆኑን አያረጋግጥም። የሚያረጋግጠው ይህ የPAC ግምገማ የሚፈልገውን አድራሻ አለማግኘቱን ብቻ ነው።
ይህ ልዩነት dnsResolve() የisInNet() ደንብን ሲመግብ ወሳኝ ነው። የChromium PAC አተገባበር ፍለጋው ሲወድቅ 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 አድራሻ በሚጠቀሙ ሁሉም መተግበሪያዎች ውስጥ ድጋፍን አያረጋግጥም።
መስፈርቱ የታወቀ የኩባንያ ቅጥያ ብቻ መመላለስ ከሆነ፣ የአስተናጋጅ ስም ደንብ ፍለጋውን ሙሉ በሙሉ ሊያስወግድ ይችላል። አድራሻው ፖሊሲው በእርግጥ የሚፈልገው መረጃ ሲሆን በአድራሻ ላይ የተመሠረተ ምድብን ተጠቀም።