Proxy auto-config
একটি প্রক্সি অটো-কনফিগ (পিএসি) ফাইল সংজ্ঞায়িত করে যে কীভাবে ওয়েব ব্রাউজার এবং অন্যান্য ব্যবহারকারী এজেন্টরা প্রদত্ত ইউআরএল আনার জন্য স্বয়ংক্রিয়ভাবে উপযুক্ত প্রক্সি সার্ভার (অ্যাক্সেস পদ্ধতি) বেছে নিতে পারে। একটি পিএসি ফাইলে একটি জাভাস্ক্রিপ্ট ফাংশন ফাইন্ডপ্রক্সিফোরইউআরএল (ইউআরএল, হোস্ট) থাকে। এই ফাংশনটি এক বা একাধিক অ্যাক্সেস পদ্ধতির নির্দিষ্টকরণ সহ একটি স্ট্রিং প্রদান করে। এই বৈশিষ্ট্যগুলি ব্যবহারকারী এজেন্টকে একটি নির্দিষ্ট প্রক্সি সার্ভার ব্যবহার করতে বা সরাসরি সংযোগ করতে বাধ্য করে। যখন কোনও প্রক্সি সাড়া দিতে ব্যর্থ হয় তখন একাধিক নির্দিষ্টকরণ একটি ফলব্যাক প্রদান করে। ব্রাউজারটি অন্যান্য ইউআরএল অনুরোধ করার আগে এই পিএসি ফাইলটি নিয়ে আসে। পিএসি ফাইলের ইউআরএল হয় ম্যানুয়ালি কনফিগার করা হয় অথবা ওয়েব প্রক্সি অটো-ডিসকভারি প্রোটোকল দ্বারা স্বয়ংক্রিয়ভাবে নির্ধারিত হয়। প্রসঙ্গ আধুনিক ওয়েব ব্রাউজারগুলি বিভিন্ন স্তরের অটোমেশন প্রয়োগ করে; ব্যবহারকারীরা তাদের প্রয়োজনের জন্য উপযুক্ত স্তরটি বেছে নিতে পারেন। নিম্নলিখিত পদ্ধতিগুলি সাধারণত প্রয়োগ করা হয়ঃ স্বয়ংক্রিয় প্রক্সি নির্বাচনঃ সমস্ত ইউআরএল-এর জন্য একটি হোস্ট-নাম এবং একটি পোর্ট নম্বর নির্দিষ্ট করুন। বেশিরভাগ ব্রাউজার আপনাকে ডোমেনের একটি তালিকা নির্দিষ্ট করার অনুমতি দেয় (যেমন স্থানীয় হোস্ট) যা এই প্রক্সিকে বাইপাস করবে। প্রক্সি অটো-কনফিগারেশন (পিএসি): একটি জাভাস্ক্রিপ্ট ফাংশন সহ একটি পিএসি ফাইলের ইউআরএল নির্দিষ্ট করুন যা প্রতিটি ইউআরএল-এর জন্য উপযুক্ত প্রক্সি নির্ধারণ করে। এই পদ্ধতিটি ল্যাপটপ ব্যবহারকারীদের জন্য আরও উপযুক্ত যাদের বিভিন্ন প্রক্সি কনফিগারেশন বা বিভিন্ন প্রক্সি সহ জটিল কর্পোরেট সেটআপ প্রয়োজন। ওয়েব প্রক্সি অটো-ডিসকভারি প্রোটোকল (ডব্লিউপিএডি): ব্রাউজারকে ডিএইচসিপি এবং ডিএনএস অনুসন্ধানের মাধ্যমে পিএসি ফাইলের অবস্থান অনুমান করতে দিন। প্রক্সি অটো-কনফিগ ফাইল ফরম্যাটটি মূলত নেটস্কেপ ন্যাভিগেটর 2-এর জন্য 1996 সালে নেটস্কেপ দ্বারা ডিজাইন করা হয়েছিল এবং এটি একটি টেক্সট ফাইল যা কমপক্ষে একটি জাভাস্ক্রিপ্ট ফাংশনকে সংজ্ঞায়িত করে। প্রচলিত নিয়ম অনুসারে, পিএসি ফাইলের নাম সাধারণত proxy.pac রাখা হয়। ডব্লিউপিএডি মান wpad.dat ব্যবহার করে। ফাইলটিতে কমপক্ষে একটি ফাংশন থাকবে বলে আশা করা হচ্ছেঃ, নির্দিষ্ট বিন্যাসে দুটি আর্গুমেন্ট এবং রিটার্ন মান সহঃ * হল বস্তুর ইউআরএল * হল সেই ইউআরএল থেকে প্রাপ্ত হোস্ট-নাম। শব্দার্থগতভাবে এটিঃ// এবং প্রথমটিরঃ অথবা/এর পরে একই স্ট্রিং। * নিম্নলিখিত বিন্যাসে স্বাক্ষরের একটি স্ট্রিং (নীচের উদাহরণগুলি দেখুন): রিটার্ন ভ্যালু = টাইপ হোস্ট ":", পোর্ট, [{";", রিটার্ন ভ্যালু]]; টাইপ = "ডাইরেক্ট"। "প্রোক্সি"। "সোক্স"। "এইচটিটিপি"। "এইচটিটিপিএস"। "সোক্স 4"। "সোক্স 5" হোস্ট = ইউটিএফ 16 স্ট্রিং (* ইসিএমএ262-সামঞ্জস্যপূর্ণ ইউটিএফ 16 স্ট্রিং *) পোর্ট = ইউটিএফ 16 স্ট্রিং (* ডিজিট *) এটি ব্যবহার করার জন্য, একটি এইচটিটিপি সার্ভারে একটি পিএসি ফাইল প্রকাশিত হয় এবং ক্লায়েন্ট ব্যবহারকারী এজেন্টদের এটি ব্যবহার করার নির্দেশ দেওয়া হয়, হয় ইউআরএল প্রবেশ করে। ইউআরএল একটি স্থানীয় ফাইলও উল্লেখ করতে পারে যেমনঃ ফাইলঃ///ইত্যাদি/প্রক্সি. প্যাক। যদিও বেশিরভাগ ক্লায়েন্ট এইচটিটিপি উত্তরে ফিরে আসা এমআইএমই প্রকার নির্বিশেষে স্ক্রিপ্টটি প্রক্রিয়া করবে, সম্পূর্ণতার জন্য এবং সামঞ্জস্যতা সর্বাধিক করার জন্য, এইচটিটিপি সার্ভারকে এই ফাইলের এমআইএমই প্রকারটি অ্যাপ্লিকেশন/এক্স-এন-প্রক্সি-স্বয়ংক্রিয় কনফিগ বা অ্যাপ্লিকেশন/এক্স-জাভাস্ক্রিপ্ট-কনফিগ হিসাবে ঘোষণা করার জন্য কনফিগার করা উচিত। অন্যটির তুলনায় একটি এম. আই. এম. ই প্রকারের ব্যবহারের পক্ষে খুব কম প্রমাণ রয়েছে। যাইহোক, এটি অনুমান করা যুক্তিসঙ্গত হবে যে অ্যাপ্লিকেশন/এক্স-এন-প্রক্সি-অটোকনফিগ অ্যাপ্লিকেশন/এক্স-জাভাস্ক্রিপ্ট-কনফিগের চেয়ে বেশি ক্লায়েন্টে সমর্থিত হবে কারণ এটি মূল নেটস্কেপ স্পেসিফিকেশনে সংজ্ঞায়িত করা হয়েছিল, পরের প্রকারটি আরও সম্প্রতি ব্যবহার করা হচ্ছে। উদাহরণ একটি পিএসি ফাইলের একটি খুব সহজ উদাহরণ হলঃ ফাংশন ফাইন্ডপ্রক্সিফোরইউআরএল (ইউআরএল, হোস্ট) {রিটার্ন 'প্রক্সি proxy.example.com: 8080; ডাইরেক্ট';} এই ফাংশনটি ব্রাউজারকে সার্ভারের পোর্ট 8080-এ প্রক্সির মাধ্যমে সমস্ত পৃষ্ঠা পুনরুদ্ধার করার নির্দেশ দেয়। এই প্রক্সিটি সাড়া দিতে ব্যর্থ হলে, ব্রাউজারটি প্রক্সি ব্যবহার না করেই সরাসরি ওয়েবসাইটের সাথে যোগাযোগ করে। পরেরটি ব্যর্থ হতে পারে যদি ফায়ারওয়াল বা অন্যান্য মধ্যস্থতাকারী নেটওয়ার্ক ডিভাইসগুলি প্রক্সি ছাড়া অন্য উৎস থেকে অনুরোধ প্রত্যাখ্যান করে-কর্পোরেট নেটওয়ার্কগুলিতে একটি সাধারণ কনফিগারেশন। আরও জটিল একটি উদাহরণ ফাইন্ডপ্রক্সিফোরইউআরএল ফাংশনে ব্যবহার করার জন্য কিছু উপলব্ধ জাভাস্ক্রিপ্ট ফাংশন প্রদর্শন করেঃ ফাংশন ফাইন্ডপ্রক্সিফোরইউআরএল (ইউআরএল, হোস্ট) {// নীচের ডোমেনগুলি থেকে আমাদের স্থানীয় ইউআরএলগুলির example.com প্রক্সির প্রয়োজন নেইঃ যদি (শএক্সপম্যাচ (হোস্ট, '*. example.com')// এই নেটওয়ার্কের মধ্যে ইউআরএলগুলি দ্রুত proxy.example.com-এ// পোর্ট 8080-এর মাধ্যমে অ্যাক্সেস করা হয়ঃ যদি (ইননেট (হোস্ট, '10.0.0.0', '255.255.248.0') //যদি এটি সাড়া দিতে ব্যর্থ হয়, সরাসরি ডাব্লুডাব্লুডাব্লু-তে যানঃ 'প্রক্সি proxy.example.com: 8080; ডাইরেক্ট';} ডিফল্টরূপে, প্রক্সি কীওয়ার্ডের অর্থ হল মূল অনুরোধের প্রোটোকলের সাথে সম্পর্কিত একটি প্রক্সি, তা সে এইচ. টি. পি, এইচ. টি. টি. এস, বা এফ. টি. পি-ই হোক না কেন, ব্যবহার করা হয়। অন্যান্য সমর্থিত কীওয়ার্ড এবং প্রক্সি প্রকারের মধ্যে রয়েছেঃ SOCKS একটি SOCKS প্রক্সি ব্যবহার করুন। এইচটিটিপি, এইচটিটিপিএস ফায়ারফক্সের আরও সাম্প্রতিক সংস্করণে চালু করা হয়েছে। একটি এইচটিটিপি (এস) প্রক্সি নির্দিষ্ট করে। SOCKS4, SOCKS5 ফায়ারফক্সের আরও সাম্প্রতিক সংস্করণে চালু করা হয়েছে। SOCKS প্রোটোকল সংস্করণ নির্দিষ্ট করে। https://www.example.com/proxy.pac সীমাবদ্ধতা পিএসি অক্ষর-এনকোডিং পিএসি স্ক্রিপ্টগুলির এনকোডিং সাধারণত অনির্দিষ্ট, এবং বিভিন্ন ব্রাউজার এবং নেটওয়ার্ক স্ট্যাকের পিএসি স্ক্রিপ্টগুলি কীভাবে এনকোড করা যেতে পারে তার জন্য বিভিন্ন নিয়ম রয়েছে। সাধারণভাবে, সম্পূর্ণ ASCII PAC স্ক্রিপ্টগুলি যে কোনও ব্রাউজার বা নেটওয়ার্ক স্ট্যাকের সাথে কাজ করবে। মোজিলা ফায়ারফক্স 66 এবং পরে অতিরিক্তভাবে ইউটিএফ-8 হিসাবে এনকোড করা পিএসি স্ক্রিপ্টগুলিকে সমর্থন করে। ডিএনএস রিসোলভ ফাংশন (এবং অনুরূপ অন্যান্য ফাংশন) একটি ডিএনএস অনুসন্ধান সম্পাদন করে যা ডিএনএস সার্ভার সাড়া না দিলে ব্রাউজারকে দীর্ঘ সময়ের জন্য অবরুদ্ধ করতে পারে। মাইআইপিএড্ড্রেস ফাংশন প্রায়শই ভুল বা অব্যবহারযোগ্য ফলাফল দেয় বলে জানা গেছে, যেমন। 127.0.0.1, স্থানীয় হোস্টের আইপি ঠিকানা। এটি সিস্টেমের হোস্ট ফাইলটি সরাতে সাহায্য করতে পারে (যেমন। লিনাক্সে/ইত্যাদি/হোস্ট) মেশিনের হোস্ট-নাম উল্লেখ করে যে কোনও লাইন, যখন 127.0.0.1 স্থানীয় হোস্ট লাইনটি থাকতে পারে এবং থাকা উচিত। 2013 সালে, গবেষকরা প্রক্সি অটো-কনফিগের নিরাপত্তা ঝুঁকি সম্পর্কে সতর্ক করতে শুরু করেন। হুমকির মধ্যে রয়েছে একটি পিএসি ব্যবহার করা, যা সিস্টেম দ্বারা স্বয়ংক্রিয়ভাবে আবিষ্কৃত হয়, এর পরিবর্তে ভুক্তভোগীর ব্রাউজার ট্র্যাফিককে আক্রমণকারী-নিয়ন্ত্রিত সার্ভারে পুনর্নির্দেশ করা হয়। প্যাক-ফাইলের আরেকটি সমস্যা হল যে সাধারণ বাস্তবায়নে স্পষ্ট পাঠ্য এইচটিটিপি পুনরুদ্ধার জড়িত থাকে, যার মধ্যে কোড স্বাক্ষর বা ওয়েব শংসাপত্রের মতো কোনও সুরক্ষা বৈশিষ্ট্য অন্তর্ভুক্ত থাকে না। আক্রমণকারীরা সহজেই ম্যান-ইন-দ্য-মিডল আক্রমণ করতে পারে। মাইক্রোসফ্টের পুরনো সমস্যাগুলি মাইক্রোসফ্টের ইন্টারনেট এক্সপ্লোরার 5.5 বা নতুনতে ডোমেন নাম দ্বারা প্রক্সি অটো-কনফিগারেশনের ফলাফল ক্যাশিং পিএসি স্ট্যান্ডার্ডের নমনীয়তাকে সীমাবদ্ধ করে। কার্যত, আপনি ডোমেন নামের উপর ভিত্তি করে প্রক্সি বেছে নিতে পারেন, কিন্তু ইউআরএল-এর পথে নয়। বিকল্পভাবে, আপনাকে রেজিস্ট্রি সম্পাদনা করে প্রক্সি অটো-কনফিগারেশন ফলাফলের ক্যাশিং নিষ্ক্রিয় করতে হবে, ডি বোয়েন পোলার্ড দ্বারা বর্ণিত একটি প্রক্রিয়া (আরও পাঠে তালিকাভুক্ত)। ইন্টারনেট এক্সপ্লোরার পিএসি কনফিগারেশন যেমন. নেট 2 ফ্রেমওয়ার্ক ব্যবহার করে এমন অন্যান্য উইন্ডোজ উপাদানগুলির সাথে সামঞ্জস্যের জন্য আইএসইননেট ফাংশনে হোস্ট ডোমেন নামগুলির পরিবর্তে সর্বদা আইপি ঠিকানা ব্যবহার করার পরামর্শ দেওয়া হয়। উদাহরণস্বরূপ, যদি (isInNet (হোস্ট, dnsResolve (স্যাম্পলডোমেইন), '255.255.248.0')//. NET 2.0 প্রক্সি সঠিকভাবে সমাধান করে যদি (isInNet (হোস্ট, স্যাম্পলডোমেইন, '255.255.248.0')//. NET 2.0 প্রক্সি সঠিকভাবে সমাধান না করে। নেটওয়ার্ক কনফিগারেশনগুলির মধ্যে স্যুইচ করার অল্প সময়ের মধ্যেই (যেমন। কোনও ভিপিএন-এ প্রবেশ করার সময় বা ছাড়ার সময়), ডিএনএস ক্যাশিংয়ের কারণে ডিএনএস রিসোলভ পুরানো ফলাফল দিতে পারে। উদাহরণস্বরূপ, ফায়ারফক্স সাধারণত 60 সেকেন্ডের জন্য 20টি ডোমেইন এন্ট্রি ক্যাশে রাখে। এটি network.dnsCacheEntries এবং network.dnsCacheExpiration কনফিগারেশন ভেরিয়েবলের মাধ্যমে কনফিগার করা যেতে পারে। সিস্টেমের ডি. এন. এস ক্যাশে ফ্লাশ করাও সাহায্য করতে পারে, যা অর্জন করা যেতে পারে যেমন। লিনাক্সে সুডো পরিষেবা ডিএনএস-ক্লিন স্টার্ট অথবা উইন্ডোজে আইকন্ফিগ/ফ্লাশডিএনএস দিয়ে। ইন্টারনেট এক্সপ্লোরার 9-এ, isInNet ('স্থানীয় হোস্টনাম', 'second.ip', '255.255.255.255') সত্য প্রদান করে এবং একটি সমাধান হিসাবে ব্যবহার করা যেতে পারে। মাইআইপি অ্যাড্রেস ফাংশনটি ধরে নেয় যে ডিভাইসটির একটি একক আইপিভি 4 ঠিকানা রয়েছে। ডিভাইসটির একাধিক আইপিভি4 ঠিকানা থাকলে বা আইপিভি6 ঠিকানা থাকলে ফলাফলগুলি অনির্ধারিত। অন্যান্য আরও সীমাবদ্ধতা স্থানীয় মেশিনে জাভাস্ক্রিপ্ট ইঞ্জিনের সাথে সম্পর্কিত। উন্নত কার্যকারিতা আরও উন্নত পিএসি ফাইলগুলি প্রক্সিগুলিতে লোড হ্রাস করতে পারে, লোড ব্যালেন্সিং সম্পাদন করতে পারে, ব্যর্থ হতে পারে বা এমনকি নেটওয়ার্কের মাধ্যমে অনুরোধ পাঠানোর আগে কালো/সাদা তালিকা তৈরি করতে পারে। একাধিক প্রক্সি ফেরত দেওয়া যেতে পারেঃ 'PROXY proxy1.example.com: 80; PROXY proxy2.example.com: 8080'; উপরেরটি প্রথমে প্রক্সি 1 চেষ্টা করবে এবং অনুপলব্ধ হলে এটি প্রক্সি 2 চেষ্টা করবে। বিবরণ আরও পড়া বাহ্যিক লিঙ্ক ওয়েব ব্রাউজার জাভাস্ক্রিপ্ট কম্পিউটার ফাইল