जब आप एक वेब सर्वर (लिंक पर क्लिक करें) के लिए एक अनुरोध भेजते हैं, तो सर्वर कई अलग-अलग प्रतिक्रियाओं को भेज सकता है। सामान्य उदाहरण 404 (पृष्ठ नहीं पाए गए), 403 (निषिद्ध), या 500 (सर्वर त्रुटि) हैं। संभवतः सबसे आम प्रतिक्रिया कोड 200 (ठीक है) है, लेकिन आप कभी भी इसे नहीं देखेंगे क्योंकि यह आम तौर पर उस पृष्ठ के साथ होता है जिसे आप देखने की उम्मीद कर रहे थे।
यहां खेलने के लिए कुछ अन्य कोड हैं: 301 और 302। कोड 301 और 302 कोड अनुप्रेषित हैं, और वे आपके ब्राउज़र को बताते हैं कि जो प्रतिक्रिया आप चाहते थे वह किसी अन्य स्थान पर चली गई है। उनके बीच मुख्य अंतर यह है कि ब्राउज़र चीजों को कैसे कैश करता है। 301 कोड का अर्थ है "स्थायी रूप से स्थानांतरित", और अगली बार जब आप मूल लिंक पर जाने की कोशिश करेंगे तो ब्राउज़र को याद हो सकता है कि पृष्ठ स्थानांतरित हो गया है और सीधे नए स्थान पर चला गया है। 302 का अर्थ है "अन्यत्र मिला" और एक लिंक प्रदान करेगा जिसे आपके ब्राउज़र को केवल अस्थायी रूप से उपयोग करना चाहिए।
एक प्रोग्राम लिखना संभव होना चाहिए जो एक लिंक की जांच करेगा, और जब तक आपको 30x प्रतिक्रियाएं मिलती रहें, तब तक प्रतिक्रिया का पालन करें, जब तक कि यह 200 नहीं हो जाता। इस बिंदु पर, सामग्री को डाउनलोड करने के बजाय यह आपको लिंक दिखाना चाहिए।
दुर्भाग्य से, यह उससे भी अधिक जटिल है। एक HTML पृष्ठ भी पेज के मुख्य खंड में मेटा टैग के उपयोग किसी नए स्थान पर रीडायरेक्ट कर सकते हैं कि इस तरह दिखता है कुछ: <meta http-equiv="refresh" content="0;url=NEW PAGE URL" />
। तो इस तरह के एक कार्यक्रम के लिए पहले से ही पूरी तरह से html को पार्स करना होगा ताकि हम अंतिम रीडायरेक्ट तक पहुंच सकें।
इसके अतिरिक्त, एक पेज आपको जावास्क्रिप्ट का उपयोग करके आगे रीडायरेक्ट कर सकता है, और जावास्क्रिप्ट को बाधित किया जा सकता है। तो अब हमारे काल्पनिक कार्यक्रम को भी जावास्क्रिप्ट को समझना होगा। इस बिंदु पर हमारे पास पूरी तरह कार्यात्मक वेब ब्राउज़र है। हम वास्तव में पृष्ठ को स्क्रीन पर प्रस्तुत करने के छोटे से छोटे विवरण को याद कर रहे हैं, लेकिन हमारे कार्यक्रम में लगभग सभी चीजें हैं जो आपको एक संपूर्ण वेब ब्राउज़र के लिए चाहिए, जिसमें सभी सुरक्षा मुद्दे शामिल हैं। यदि आप अभी लिंक को सामान्य रूप से पहली जगह पर क्लिक करते हैं तो आप इससे बेहतर नहीं हैं।
edit
मैंने कैसे किया, इसके लिए मार्कडाउन स्रोत को देखने के लिए क्लिक करें ।