Node.js में HTTP वेब सर्वर बनाएँ: संपूर्ण ट्यूटोरियल

विषय - सूची:

Anonim

Node.js फ्रेमवर्क का उपयोग ज्यादातर सर्वर-आधारित एप्लिकेशन बनाने के लिए किया जाता है। वेब सर्वर बनाने के लिए आसानी से फ्रेमवर्क का उपयोग किया जा सकता है जो उपयोगकर्ताओं को सामग्री प्रदान कर सकता है।

"Http" और "अनुरोध" मॉड्यूल जैसे विभिन्न प्रकार के मॉड्यूल हैं, जो वेबसर्वर अंतरिक्ष में सर्वर संबंधी अनुरोधों को संसाधित करने में मदद करता है। हम इस बात पर ध्यान देंगे कि हम नोड वेब का उपयोग करके एक बुनियादी वेब सर्वर एप्लिकेशन कैसे बना सकते हैं।

HTTP का उपयोग कर एक वेब सर्वर के रूप में नोड

आइए एक उदाहरण देखें कि हमारे पहले नोड जेएस एप्लिकेशन को कैसे बनाया और चलाया जाए।

हमारा एप्लिकेशन एक साधारण सर्वर मॉड्यूल बनाने जा रहा है जो पोर्ट नंबर 7000 पर सुनेगा। यदि इस पोर्ट नंबर पर ब्राउज़र के माध्यम से अनुरोध किया जाता है, तो सर्वर एप्लिकेशन क्लाइंट को एक 'हैलो वर्ल्ड' प्रतिक्रिया भेजेगा।

कोड स्पष्टीकरण:

  1. आवश्यकता फ़ंक्शन की मूल कार्यक्षमता यह है कि यह एक जावास्क्रिप्ट फ़ाइल पढ़ता है, फ़ाइल को निष्पादित करता है, और फिर निर्यात वस्तु को वापस करने के लिए आगे बढ़ता है। इसलिए हमारे मामले में, चूंकि हम http मॉड्यूल की कार्यक्षमता का उपयोग करना चाहते हैं, इसलिए हम HTTP मॉड्यूल से वांछित कार्यों को प्राप्त करने के लिए आवश्यक फ़ंक्शन का उपयोग करते हैं ताकि इसका उपयोग हमारे एप्लिकेशन में किया जा सके।
  2. कोड की इस पंक्ति में, हम एक सर्वर एप्लिकेशन बना रहे हैं जो एक साधारण फ़ंक्शन पर आधारित है। जब भी हमारे सर्वर एप्लिकेशन से अनुरोध किया जाता है तो यह फ़ंक्शन कहा जाता है।
  3. जब एक अनुरोध प्राप्त होता है, तो हम '200' शीर्षक हेडर के साथ प्रतिक्रिया भेजने के लिए कह रहे हैं। यह संख्या सामान्य प्रतिक्रिया है जो http हैडर में भेजी जाती है जब एक सफल प्रतिक्रिया क्लाइंट को भेजी जाती है।
  4. जवाब में, हम 'हैलो वर्ल्ड' स्ट्रिंग भेज रहे हैं।
  5. फिर हम अपने सर्वर एप्लिकेशन को पोर्ट नंबर 7000 पर क्लाइंट अनुरोधों को सुनने के लिए server.listen फ़ंक्शन का उपयोग कर रहे हैं। आप यहां उपलब्ध किसी भी पोर्ट को निर्दिष्ट कर सकते हैं।

यदि कमांड को सफलतापूर्वक निष्पादित किया जाता है, तो ब्राउज़र में अपना कोड चलाते समय निम्न आउटपुट दिखाया जाएगा।

आउटपुट:

आउटपुट से,

  • आप स्पष्ट रूप से देख सकते हैं कि यदि हम पोर्ट 7000 पर लोकलहोस्ट के URL पर ब्राउज़ करते हैं, तो आप पृष्ठ में प्रदर्शित स्ट्रिंग 'हैलो वर्ल्ड' देखेंगे।
  • क्योंकि हमारे कोड में हमने विशेष रूप से पोर्ट नं 7000 पर सुनने के लिए सर्वर का उल्लेख किया है, हम इस url को ब्राउज़ करते समय आउटपुट देख सकते हैं।

यहाँ आपके संदर्भ के लिए कोड है

var http=require('http')var server=http.createServer((function(request,response){response.writeHead(200,{"Content-Type" : "text/plain"});response.end("Hello World\n");}));server.listen(7000);

Node.js में GET अनुरोध संभालना

किसी अन्य साइट से डेटा प्राप्त करने के लिए GET अनुरोध करना Node.js. में अपेक्षाकृत सरल है। नोड में एक अनुरोध प्राप्त करने के लिए, हमें पहले अनुरोध मॉड्यूल स्थापित करना होगा। यह कमांड लाइन में निम्नलिखित लाइन को निष्पादित करके किया जा सकता है

npm स्थापित अनुरोध

उपरोक्त आदेश नोड पैकेज प्रबंधक से आवश्यक अनुरोध मॉड्यूल डाउनलोड करने और उन्हें तदनुसार स्थापित करने का अनुरोध करता है।

जब आपका एनपीएम मॉड्यूल सफलतापूर्वक स्थापित किया गया है, तो कमांड लाइन स्थापित मॉड्यूल नाम और संस्करण दिखाएगा: <नाम> @ <संस्करण>।

उपरोक्त स्नैपशॉट में, आप देख सकते हैं कि संस्करण संख्या 2.67.0 के साथ 'अनुरोध' मॉड्यूल डाउनलोड और स्थापित किया गया था।

अब कोड को देखते हैं जो इस 'अनुरोध' कमांड का उपयोग कर सकता है।

कोड स्पष्टीकरण:

  1. हम 'अनुरोध' मॉड्यूल का उपयोग कर रहे हैं जो अंतिम चरण में स्थापित किया गया था। इस मॉड्यूल में आवश्यक कार्य हैं जिनका उपयोग वेबसाइटों को GET अनुरोध करने के लिए किया जा सकता है।
  2. हम www.google.com पर एक GET अनुरोध कर रहे हैं और बाद में प्रतिक्रिया मिलने पर किसी फ़ंक्शन को कॉल कर रहे हैं। जब एक प्रतिक्रिया पैरामीटर प्राप्त होता है (त्रुटि, प्रतिक्रिया और शरीर) में निम्नलिखित मान होंगे
    1. त्रुटि - यदि GET अनुरोध का उपयोग करते समय कोई त्रुटि प्राप्त हुई है, तो इसे यहां दर्ज किया जाएगा।
    2. प्रतिक्रिया- प्रतिक्रिया में http हेडर होंगे जो प्रतिक्रिया में वापस भेजे जाते हैं।
    3. बॉडी- शरीर में Google द्वारा भेजी गई प्रतिक्रिया की संपूर्ण सामग्री होगी।
  3. इसमें, हम केवल बॉडी पैरामीटर में कंसोल.लॉग फ़ाइल में प्राप्त सामग्री को लिख रहे हैं। इसलिए मूल रूप से, जो भी हम www.google.com पर जाकर प्राप्त करेंगे, वह कंसोल.लॉग को लिखा जाएगा।

यहाँ आपके संदर्भ के लिए कोड है

var request = require("request");request("http://www.google.com",function(error,response,body){console.log(body);});

सारांश

  • 'Http' मॉड्यूल का उपयोग करके वेब सर्वर विकसित करने के लिए Node.js फ्रेमवर्क का उपयोग किया जा सकता है। एप्लिकेशन को किसी विशेष पोर्ट पर सुनने के लिए और जब भी आवेदन के लिए अनुरोध किया जाता है, तो ग्राहक को एक प्रतिक्रिया भेज सकते हैं।
  • 'अनुरोध' मॉड्यूल का उपयोग वेब साइटों से जानकारी प्राप्त करने के लिए किया जा सकता है। जानकारी में संबंधित वेब साइट से अनुरोधित वेब पेज की संपूर्ण सामग्री होगी।