गतांक में हमने देखा कि कैसे एक वेब ब्राउज़र यूआरएल के साथ सूचनाओं को संलग्न करके सर्वर तक भेजता है। सर्वर तक सूचना भेजने के कई प्रकार होते हैं। उनमें से यह एक है, इसके अतिरिक्त अन्य और भी कई प्रकार हैं। इन प्रकारों को तकनीकी भाषा में मेथड (method) कहा जाता है। जो दो मुख्य और सामान्य जन के लिए समझने योग्य हैं उनमें दो प्रकार यहाँ बताये जा सकते हैं। जब भी हम किसी वेब पृष्ठ पर कोई फॉर्म सबमिट करते हैं तो वह (सामान्यत:) दो प्रकार के मेथड से सूचना भेजता है। एक होता है GET method एवं दूसरा है POST method.
गतांक में जिस रूप को हमने देखा, जो यूआरएल के साथ सूचना भेजता है वह प्रकार GET method ही है। POST method से जब सूचना भेजी जाती है तब वह यूआरएल के साथ संलग्न नहीं होती परन्तु छुपे हुए रूप में भेजी जाती है। अर्थात मुख्य यूआरएल वैसा ही रहता है परन्तु सूचना पार्श्व में बिना यूआरएल के साथ जुड़े (अदृश्य) रूप में सर्वर तक जाती है। यह POST method विशेष रूप से ऐसी सूचनाएं भेजने के लिए प्रयोग किया जाता है जिन्हें दृश्यमान करना अभीष्ट न हो। ऐसी सूचनाओं के उदहारण हैं – पासवर्ड, क्रेडिट कार्ड या धन/बैंक सम्बंधित व्यवहार, बाइनरी फाइल फोटो या अन्य प्रकार के डॉक्यूमेंट आदि।
यों दोनों ही मेथड एक समान कार्य करते हैं। परन्तु post मेथड get से तनिक अधिक क्षमताएं रखता है। get मेथड का प्रयोग केवल सामान्य टेक्स्ट रुपी सूचना भेजने के लिए ही किया जा सकता है। परन्तु फाइल जैसे पीडीऍफ़, इमेज/फोटो इत्यादि टेक्स्ट रूप में न होने के कारण get मेथड के संलग्न नहीं की जा सकती हैं अत: post का प्रयोग किया जाता है। हम यह कह सकते हैं की post मेथड वह सभी कार्य कर सकता है जो get मेथड करता है परन्तु get मेथड वह सब नहीं कर सकता जो post मेथड कर सकता है। तब फिर प्रश्न उठता है get मेथड की आवश्यकता क्यों? स्वाभाविक रूप से कुछ कारण हैं। जिनमें से एक है पृष्ठ का बुकमार्क किया जाना। post मेथड से आपके पृष्ठ की सामग्री भले ही बदलती रहे परन्तु यूआरएल नहीं अत: एक ही यूआरएल यदि भिन्न-भिन्न सूचनाओं वाला पृष्ठ प्रस्तुत करे तो आप बुकमार्क करके कोई लाभ नहीं उठा सकते है। जबकि get मेथड वाले यूआरएल भिन्न-भिन्न सूचनाओं के साथ जुड़कर विशिष्ट (unique) पते की तरह बन जाते हैं जो बुकमार्क करने योग्य भी होते हैं। यद्यपि यह बुकमार्क समस्या इसके पीछे विशेष कारण नहीं है। तथापि उपयोगिता अवश्य है। दोनों मेथड का प्रयोग होते रहने का कारणों में जाना विषयांतर हो जायेगा। दोनों की अपनी-अपनी तकनीकी उपयोगितायें हैं।
जैसे यदि आप फेसबुक पर लॉग इन करने के लिए facebook.com पते पर जाते हैं, तब ब्राउज़र के एड्रेस बार में यूआरएल https://www.facebook.com/ दिखाई पड़ता है। इसके पश्चात जब आप अपने ईमेल और पासवर्ड डालकर लॉग इन बटन पर क्लिक करते हैं तब लॉग इन होने के पश्चात भी आपको एड्रेस बार में वही यूआरएल https://www.facebook.com/ दिखाई देता रहता है। अर्थात यूआरएल के साथ कोई सूचना जुडी हुयी नहीं दिखाई देती है, जैसा की GET method में होता है। तो सूचना ब्राउज़र से सर्वर तक भेजी तो गयी परन्तु सामने यूआरएल के साथ संलग्न होती नहीं दिखाई दी।
इन दोनों प्रकारों को प्रयोग के रूप में समझने के लिए मैं यहाँ एक उदहारण दे रहा हूँ इसे करके देखिये। प्रथम फॉर्म post method का प्रयोग करते हुए सूचना सर्वर तक भेज रहा है एवं द्वितीय फॉर्म get method का प्रयोग कर रहा है। आप बिना किसी संशय के पुन: पुन: इन्हें प्रयोग करके समझ सकते हैं।
पहले नीचे दिए गए इस फॉर्म-०१ (post method) को देखते हैं। फॉर्म-०१ को सबमिट करने से पूर्व ब्राउज़र के एड्रेस बार में यूआरएल का निरिक्षण कीजिये। पश्चात फॉर्म-०१ की सूचनाओं को भरकर या बिना भरे सबमिट बटन पर क्लिक करें। पृष्ठ रीलोड होने पर पुन: एड्रेस बार में यूआरएल का निरिक्षण करें। उसमें आपको कोई परिवर्तन नहीं दिखाई देगा। पुन: पुन: प्रयोग करने से पहले रिसेट/रीलोड का प्रयोग अवश्य करें।
अब इस फॉर्म-०२ (get method) को भी सबमिट करके देखें। इस बार पृष्ठ रीलोड होने के पश्चात आपको यूआरएल के साथ सूचना जुडी हुयी दिखाई देगी। यदि आपने फेवरेट फ्रूट इनपुट में कुछ लिख होगा तो वह यूआरएल में ‘favorite_fruit=<जो आपने लिखा>’ के रूप में दिखाई देगा। अर्थात ‘favorite_fruit’ एक चर (variable) है का नाम है जो मैंने इस फॉर्म में कोड किया है। बराबर चिह्न के बाद जो सूचना होगी वह आपने फॉर्म में भरी होगी। यदि बिना कुछ सूचना भरे सबमिट किया है तो बिना सूचना के केवल favorite_fruit= ही दिखाई पड़ेगा। यही इन दोनों post एवं get प्रकारों का मुख्य अंतर है।
यदि आप इन फॉर्म को एक के बाद एक कई बार प्रयोग करेंगे तो हो सकता है आपको सूचना यूआरएल में जुडी हुयी दिखने लगे। ऐसा इसलिए क्योंकि get method से यूआरएल बदलने के बाद वह एड्रेस बार में पड़ा रहेगा। तथा post मेथड वर्तमान में एड्रेस बार में स्थित यूआरएल में कुछ परिवर्तन नहीं करता है। वह उसी यूआरएल का प्रयोग करता रहता है। वह यूआरएल में कुछ भी संलग्न नहीं करता है। इसी कारण मैंने पहले post method वाले फॉर्म के साथ प्रयोग करने का विकल्प पहले दिया है और get method फॉर्म-०२ वाला बाद में। पहले get method वाले फॉर्म का प्रयोग करने पर मेरे समझाने का अभीष्ट स्पष्ट नहीं हो पाता। यदि आपको ये बात समझ नहीं आयी या सब कुछ गड्ड-मड्ड हो गया तो बस इतना करें। प्रत्येक बार दोनों में किसी भी फॉर्म पर प्रयोग करने से पूर्व एक बार प्रारम्भिक अवस्था वाला यूआरएल लोड (इस पृष्ठ के मूल यूआरएल को रिसेट) कर लें। और इसके लिए आप यहाँ भी क्लिक कर सकते हैं।
संभवत: आपके मानस में प्रश्न उठा होगा कि क्या post मेथड से भेजी जाने वाली सूचना भी देखी जा सकती है। जी हाँ, आप अपने ब्राउज़र के एक विशेष टूल की सहायता से यह सब देख सकते हैं। जो आजकल सभी मुख्य वेब ब्राउज़र में इन-बिल्ट आता है। आप किसी भी पृष्ठ पर हो तब F12 फंक्शन की दबाएँ। या पृष्ठ पर कहीं भी माउस का राईट क्लिक बटन दबाएँ। राईट क्लिक पर खुलने वाले सन्दर्भ मेनू में आपको कुछ inspect या inspect element जैसा विकल्प दिखाई देगा। उसके चुनाव पर एक स्प्लिट विंडो खुल जाएगी। इस भाग में आपको ढेर सारी तकनीकी सूचना दिखाई देगी जो पार्श्व में चल रही होती है। इस विंडो में कहीं आपको एक Tab सेक्शन Network के नाम से दिखाई देगा। उसमें ब्राउज़र में लोड होने वाली सभी रिक्वेस्ट आपको दिखाई देगी। तनिक उन पर क्लिक कर के देखिये की post मेथड से भेजी गयी सूचना आपको कहाँ दिखाई पड़ी। इस विंडो को बिना किसी भय के आप एक्स्प्लोर करिए। आपको कई चीजें नयी दिखाई पड़ेगी।
post method से भेजी गयी सूचना कहाँ मिलेगी इसके लिए मैंने संकेत भर कर दिया है। आगे आप थोडा प्रयास कीजिये। अन्यथा अगले अंक तक प्रतीक्षा कीजिये। उसमें हम इस नयी इंस्पेक्टर एलिमेंट विंडो के बारे में कुछ काम की बातें जानेंगे।