कुछ अलग प्रकार के प्रॉक्सी सर्वर हैं। चूंकि आपने अनुरोध हेडर का उल्लेख किया है, इसलिए मुझे लगता है कि आप HTTP प्रॉक्सी सर्वर के बारे में बात कर रहे हैं, जो HTTP अनुरोधों को आगे बढ़ाते हैं, पैकेट नहीं।
नोट: (CONNECT
के माध्यम से TLS/SSL) HTTPS requests के विशेष मामले में, प्रॉक्सी सर्वर होगा टीसीपी पैकेट की बस आगे सामग्री (और पैकेट का निरीक्षण करने में असमर्थ हैं जब तक कि एक man-in-the-middle प्रॉक्सी के रूप में कार्य) ।
बेशक यह प्रॉक्सी सॉफ्टवेयर और इसके विन्यास पर निर्भर करता है, लेकिन HTTP प्रॉक्सी उम्मीद कर रहे हैं W3C Guidelines for Web Content Transformation Proxies है, जो बहुत सी बातें कहता है पालन करने के लिए है, लेकिन सबसे प्रासंगिक:
HEAD
और GET
प्रॉक्सी के बीच कनवर्ट करने के अलावा अनुरोध विधियों को परिवर्तित नहीं करना चाहिए।
यदि अनुरोध में Cache-Control: no-transform
निर्देश है, तो प्रॉक्सी को आरएफसी 2616 HTTP अनुभाग खंड 14.9.5 और खंड 13.5.2 में परिभाषित पारदर्शी HTTP व्यवहार का अनुपालन करने के अलावा अनुरोध को परिवर्तित नहीं करना चाहिए और इसमें वर्णित हेडर फ़ील्ड जोड़ने के लिए 4.1.6 Additional HTTP Header Fields।
- RFC 2616 HTTP प्रॉक्सी के लिए आवश्यक
User-Agent
, Accept
, Accept-Charset
, Accept-Encoding
, और Accept-Language
हेडर फील्ड के अलावा अन्य शीर्ष लेख फ़ील्ड के मूल्यों को संशोधित नहीं किया जाना चाहिए संशोधनों से अन्य और शीर्ष लेख फ़ील्ड को नष्ट नहीं करना चाहिए।
प्रॉक्सी को X-Forwarded-For
HTTP शीर्षलेख फ़ील्ड में अल्पविराम से अलग सूची के अंत में अनुरोध के आरंभकर्ता का आईपी पता जोड़ना चाहिए।
प्रॉक्सी (आरएफसी 2616 के अनुसार) में Via
HTTP शीर्षलेख फ़ील्ड शामिल होना चाहिए।
सारांश में, आप आम तौर पर उम्मीद कर सकते हैं इन HTTP हेडर परिवर्तित करने की/जोड़ा मानकों का अनुपालन करने के लिए प्रॉक्सी द्वारा:
User-Agent
Accept
Accept-Charset
Accept-Encoding
Accept-Language
X-Forwarded-For
Via
मैं भाग "आगे अनुरोध नहीं पैकेट" नहीं मिलता है। क्या आपका मतलब है कि यह आने वाले पैकेट से http अनुरोध का पुनर्निर्माण करेगा और फिर उन्हें संशोधित करेगा? – Ashwin
@ अश्विन: मुझे लगता है कि आप यहां HTTP प्रोटोकॉल को गलत समझ रहे हैं। HTTP एक अनुप्रयोग प्रोटोकॉल है, जो [ओएसआई मॉडल] की _application_ परत में है (http://en.wikipedia.org/wiki/OSI_model)। सभी HTTP 'पैकेट' वास्तव में टीसीपी पैकेट हैं, और HTTP सीधे पैकेट से निपटता नहीं है (यह सब _transport_ और [ओएसआई मॉडल] की _network_ परतों पर होता है (http://en.wikipedia.org/wiki/OSI_model))। – Xenon
जब मैं "www.google.com" जैसे बॉसर में अनुरोध करता हूं, तो यह अनुरोध एप्लिकेशन स्तर (ब्राउज़र) से सीधे भौतिक स्तर (जो एनआईसी है) से जाता है। अब प्रॉक्सी सर्वर इसे पुनर्प्राप्त करता है और फिर भौतिक स्तर डेटा को लेयर 2 पर डीकोड करता है और इसी तरह ... परिवहन (परत 4) पर। यहां यह डेटा को संशोधित करता है और फिर इसे सही करता है? – Ashwin