DNS-ის წარუმატებლობის დამუშავება PAC წესის შიგნით
მიეცით წარუმატებელ 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 URL-ს იყენებს.
თუ მოთხოვნა მხოლოდ ცნობილი კომპანიის სუფიქსის მარშრუტიზაციაა, ჰოსტის სახელის წესმა შეიძლება ძიება სრულად აირიდოს. მისამართზე დაფუძნებულ კლასიფიკაციას მიმართეთ მაშინ, როცა მისამართი ის ინფორმაციაა, რომელიც პოლიტიკას ნამდვილად სჭირდება.