सवाल में HTTP अनुरोध वास्तव में मान्य नहीं है जब तक कि ब्राउज़र एक मध्यस्थ (प्रॉक्सी) से बात नहीं कर रहा हो।
यदि आपका ब्राउज़र सीधे वेब सर्वर से बात कर रहा है तो आपका उदाहरण थोड़ा और निम्नलिखित होगा:
GET /hello.htm HTTP/1.1
Host: www.pippo.it
अब, इसे परिप्रेक्ष्य में रखें, OSI मॉडल पर विचार करें:
हमारे पास 3 सिस्टम हैं:
- एक क्लाइंट जो ब्राउज़र चला रहा है
- एक वेब सर्वर साइट की सेवा
- एक DNS सर्वर साइट का आईपी पता जानता है
इसमें शामिल प्रोटोकॉल नीचे से ऊपर (न्यूनतम प्रासंगिक सेट ओपी पर) हैं:
- आईपी
- टीसीपी, यूडीपी
- HTTP, DNS
HTTP संचार टीसीपी प्रोटोकॉल के ऊपर किया जाता है (टीसीपी आईपी प्रोटोकॉल के शीर्ष पर है) जबकि DNS संचार, इस मामले में यूडीपी प्रोटोकॉल पर किया जाता है (यूडीपी भी आईपी प्रोटोकॉल के शीर्ष पर है)।
यहाँ संक्षेप में संचार अनुक्रम है:
ग्राहक , ब्राउज़र चल रहा है, पूछता है DNS सर्वर एक के लिए A
के लिए रिकॉर्ड www.pippo.it
, यूडीपी प्रोटोकॉल का उपयोग।
1.1। क्लाइंट पर, यह ऑपरेटिंग सिस्टम है जो हल करने वाला हिस्सा करता है और ब्राउज़र से वापस बात करता है --- ब्राउज़र कभी भी DNS सर्वर से सीधे बात नहीं करता है, बल्कि ओएस के माध्यम से gethostbyname () या नए getaddrinfo () को इनवाइट करता है । विंडोज पर, जिस क्रम में ओएस पते को हल करता है, वह संभवतः इस तरह से परिभाषित किया जाता है , जबकि लिनक्स पर संकल्प पूर्ववर्ती द्वारा परिभाषित किया जाता है/etc/nsswitch.conf
DNS सर्वर , यूडीपी प्रोटोकॉल, का जवाब का उपयोग कर ग्राहक , एक रिकार्ड / आईपी पते के साथ यदि वह मौजूद है
ग्राहक के पोर्ट 80 पर एक TCP कनेक्शन खोलता वेब सर्वर और निम्न पाठ लिखते हैं:
HTTP अनुरोध:
GET /hello.htm HTTP/1.1
Host: www.pippo.it
आप अपने कंसोल या कमांड प्रॉम्प्ट में कुछ इस तरह से कर सकते हैं।
> telnet www.pippo.it 80
Trying 195.128.235.49...
Connected to www.pippo.it.
Escape character is '^]'.
GET /hello.htm HTTP/1.1
Host: www.pippo.it
दो खाली लाइनों के बाद। यदि अनुरोधित सामग्री मौजूद है, तो वेब सर्वर इसे स्क्रीन पर प्रिंट करेगा। यदि दूसरी तरफ एक ब्राउज़र है, तो प्रतिक्रिया पाठ ब्राउज़र द्वारा पार्स हो जाता है, और सभी टैग, लिंक, स्क्रिप्ट और छवियां प्रदान की जाती हैं जिसे हम एक वेब पेज कहते हैं।
वास्तव में, कुछ और विवरण हैं, उदाहरण के लिए, यदि आप पहले से ही कुछ डोमेन पर गए हैं, तो ब्राउज़र आईपी पते को कैश कर सकते हैं, ताकि DNS निराकरण अनावश्यक हो जाए। इसके अलावा, आधुनिक ब्राउज़र आपके ब्राउज़िंग को गति देने के लिए वास्तव में इसे ( DNS prefetching ) करने से पहले आपको हल करने का प्रयास कर सकते हैं ।
इसके अतिरिक्त, आपके कंप्यूटर में किसी hosts
फ़ाइल में स्थिर रिकॉर्ड हो सकते हैं । यदि कोई रिकॉर्ड अनुरोध से मेल खाता है, तो स्थानीय स्थैतिक प्रविष्टि पहले उपयोग की जाती है और कभी भी DNS सर्वर से संपर्क नहीं किया जाता है। यह विन्यास योग्य है, और जरूरी नहीं कि यह सच हो, लेकिन यह उन ऑपरेटिंग सिस्टमों पर डिफ़ॉल्ट है जिनसे मैं परिचित हूं।