आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

वेब एप्लिकेशन बनाने के लिए गो एक शक्तिशाली और लचीली भाषा है। जाल पैकेज गो के पारिस्थितिकी तंत्र में एक आवश्यक भूमिका निभाता है।

अधिकांश सर्वर-साइड प्रोग्रामिंग भाषाओं की तरह, HTTP प्रोटोकॉल के साथ इंटरैक्ट करने के लिए HTTP पैकेज के साथ जाएं। प्रासंगिक गो पैकेज है एचटीटीपी पैकेज, का एक उप-पैकेज जाल पैकेट।

नेट/एचटीटीपी पैकेज क्या है?

नेट/एचटीटीपी पैकेज गो में मानक पुस्तकालयों में से एक है। यह HTTP क्लाइंट, सर्वर और अन्य HTTP-आधारित संचालन के निर्माण के लिए कार्यों और प्रकारों का एक पूरा सेट प्रदान करता है। इसमे शामिल है:

  • HTTP अनुरोध करने के लिए कार्य।
  • अनुरोधों और प्रतिक्रियाओं को संभालना।
  • HTTP अनुरोधों की सेवा करना।
  • संबंधित वस्तुएं जैसे हेडर और कुकीज।

नेट/एचटीटीपी पैकेज टीएलएस/एसएसएल एन्क्रिप्शन, एचटीटीपी/2 और अन्य उन्नत सुविधाओं का भी समर्थन करता है जो पैकेज को गो डेवलपर्स के लिए एक आवश्यक उपकरण बनाता है।

गोरिल्ला वेब टूलकिट से लेकर इको वेब फ्रेमवर्क तक कई लोकप्रिय गो लाइब्रेरी और फ्रेमवर्क नेट/एचटीटीपी पैकेट।

instagram viewer

एक साधारण HTTP सर्वर शुरू करना

HTTP प्रोटोकॉल के साथ काम करने के लिए आपको सर्वर शुरू करना बुनियादी कार्यों में से एक है।

यहाँ एक कार्यक्रम है गो में एक साधारण सर्वर चलाएं:

पैकेट मुख्य

आयात (
"एफएमटी"
"नेट/एचटीटीपी"
)

// हैंडलर गो में एक विशिष्ट HTTP अनुरोध-प्रतिक्रिया हैंडलर है; विवरण बाद में
समारोहहैंडलर(डब्ल्यू http. रिस्पांस राइटर, आर * एचटीटीपी। अनुरोध) {
// Fprintf एक लेखक को स्ट्रिंग स्वरूपित करता है
fmt. एफप्रिंटफ (डब्ल्यू, "हैलो वर्ल्ड!")
}

समारोहमुख्य() {
एचटीटीपी। हैंडलफंक("/", हैंडलर)
एचटीटीपी। सुनो और परोसें (":8080", शून्य)
}

हैंडलर फ़ंक्शन एक सामान्य अनुरोध-प्रतिक्रिया हैंडलर है एचटीटीपी पैकेट। यह फ़ंक्शन "Hello, World!" HTTP प्रतिक्रिया लेखक के लिए।

कोड चलाने और आने पर http://localhost: 8080/ एक वेब ब्राउज़र में, आपको "हैलो, वर्ल्ड!" आपके ब्राउज़र में प्रदर्शित स्ट्रिंग।

अनुरोधों और प्रतिक्रियाओं को संभालना

आप आने वाले अनुरोधों को इसके साथ संभाल सकते हैं हैंडलफंक की विधि एचटीटीपी पैकेट। हैंडलफंक विधि रूट स्ट्रिंग और हैंडलर फ़ंक्शन लेती है।

एचटीटीपी। अनुरोध विधि आने वाले अनुरोध का एक उदाहरण है, और आप मार्ग के अनुरोधों के साथ बातचीत करने के लिए अपने उदाहरण के कई तरीकों का उपयोग कर सकते हैं।

एचटीटीपी। हैंडलफंक("/ उपयोगकर्ता", समारोह(डब्ल्यू http. रिस्पांस राइटर, आर * एचटीटीपी। अनुरोध) {
बदलना आर। तरीका {
मामला"पाना":
// GET अनुरोध को संभालें
मामला"डाक":
// POST अनुरोध को संभालें
गलती करना:
एचटीटीपी। त्रुटि (डब्ल्यू, "अवैध अनुरोध विधि", एचटीटीपी। स्थिति विधि की अनुमति नहीं है)
}
})

उपरोक्त कोड का उपयोग करता है एचटीटीपी पैकेज के लिए HTTP हैंडलर फ़ंक्शन को परिभाषित करने के लिए /users मार्ग। हैंडलर फ़ंक्शन रूट पर आने वाले HTTP अनुरोधों को सुनता है और उन्हें अनुरोध विधि के आधार पर संसाधित करता है (उदाहरण के लिए, पाना, डाक, वगैरह।)

हैंडलर फ़ंक्शन लेता है प्रतिक्रिया लेखक और अनुरोध तर्क के रूप में तरीके। प्रतिक्रिया लेखक एक इंटरफ़ेस है जो हैंडलर को क्लाइंट की प्रतिक्रिया के रूप में डेटा लिखने में मदद करता है, और अनुरोध एक संरचना है जिसमें आने वाले अनुरोध के बारे में जानकारी होती है, जैसे कि HTTP विधि, URL, हेडर आदि।

उपरोक्त हैंडलर फ़ंक्शन a का उपयोग करता है बदलना अनुरोध विधि निर्धारित करने और विधि के आधार पर विभिन्न कोड ब्लॉक चलाने के लिए कथन। अगर तरीका है पाना, हैंडलर हैंडल करेगा पाना अनुरोध। वरना तरीका है डाक; यह संभाल लेगा डाक अनुरोध।

यदि विधि कुछ और है, तो यह एक भेजेगा एचटीटीपी। गलती एक "अमान्य अनुरोध विधि" संदेश के साथ और a स्थिति विधि की अनुमति नहीं हैHTTP स्थिति कोड ग्राहक के लिए।

आप का उपयोग करके क्लाइंट को बैक स्ट्रिंग्स लिख सकते हैं लिखना आपके लेखक उदाहरण की विधि जो स्ट्रिंग्स के बाइट स्लाइस में लेती है और स्ट्रिंग लिखती है।

डब्ल्यू लिखना([]बाइट("हैलो वर्ल्ड!"))

आप उपयोग कर सकते हैं राइटहेडर आप की विधि प्रतिक्रिया लेखक क्लाइंट को हेडर लिखने का उदाहरण।

डब्ल्यू राइटहेडर (http। स्थितिठीक)

HTTP मिडलवेयर के साथ काम करना

मिडलवेयर में ऐसे कार्य होते हैं जो अगले हैंडलर फ़ंक्शन के अनुरोध के आगे बढ़ने से पहले संचालन के लिए आने वाले HTTP अनुरोधों को रोकते हैं।

यहां मिडलवेयर हैंडलर फ़ंक्शन को गो में लॉग करने का एक उदाहरण दिया गया है:

समारोहloggingMiddleware(अगला http. हैंडलर)एचटीटीपी.हैंडलर {
वापस करना एचटीटीपी। हैंडलरफंक(समारोह(डब्ल्यू http. रिस्पांस राइटर, आर * एचटीटीपी। अनुरोध) {
// अनुरोध लॉग करें
अगला। सर्वएचटीटीपी (डब्ल्यू, आर)
// प्रतिक्रिया लॉग करें
})
}

loggingMiddleware फ़ंक्शन एक HTTP हैंडलर लेता है और एक नया HTTP हैंडलर लौटाता है। लौटाया गया HTTP हैंडलर एक अज्ञात फ़ंक्शन है जो HTTP प्रतिक्रिया लेखक और HTTP अनुरोध लेता है। फ़ंक्शन अनुरोध को लॉग करता है और कॉल करता है सर्वएचटीटीपी विधि पर अगला HTTP हैंडलर, प्रतिक्रिया लेखक में गुजर रहा है और तर्क के रूप में अनुरोध करता है।

आप मिडलवेयर कार्यों को इसके साथ संभाल सकते हैं सँभालना की विधि एचटीटीपी पैकेट। सँभालना विधि मार्ग और मिडलवेयर फ़ंक्शन में लेती है।

एचटीटीपी। सँभालना("/", लॉगिंग मिडलवेयर (http. हैंडलरफंक (हैंडलर)))

HTTP पैकेज के साथ रीडायरेक्ट करता है

पुनर्निर्देशन वेब एप्लिकेशन के लिए एक लोकप्रिय ऑपरेशन है जो उपयोगकर्ताओं को अन्य संसाधनों या वेब पेजों के लिए संदर्भित करता है।

आप का उपयोग करके दूसरे वेबपेज पर रीडायरेक्ट कर सकते हैं पुनर्निर्देशन की विधि एचटीटीपी पैकेट।

एचटीटीपी। रीडायरेक्ट (डब्ल्यू, आर, " http://example.com", एचटीटीपी। स्थितिस्थायी रूप से स्थानांतरित)

पुनर्निर्देशन विधि में ग्रहण करता है प्रतिक्रिया लेखक और अनुरोध उदाहरण, नया पृष्ठ URL और रीडायरेक्ट के लिए एक स्थिति कोड।

आप गो में कॉम्प्लेक्स एपीआई बना सकते हैं

एचटीटीपी पैकेज जटिल एपीआई के निर्माण के लिए एक शक्तिशाली और लचीला उपकरण है। आप गो के समृद्ध मानक पुस्तकालय और अन्य शक्तिशाली का उपयोग कर सकते हैं आपके एपीआई में कार्यक्षमता जोड़ने के लिए तृतीय-पक्ष पैकेज, जैसे डेटाबेस कनेक्टिविटी और विभिन्न वेब के लिए समर्थन चौखटे।

गो के साथ, आप स्केलेबल, अत्यधिक प्रदर्शन करने वाले एपीआई बना सकते हैं जो महत्वपूर्ण अनुरोध यातायात और जटिल डेटा प्रोसेसिंग कार्यों को आसानी से संभालते हैं।