REST API बनाम HTTP API बनाम WebSocket API
REST API (सुविधा-समृद्ध), HTTP API (कम-विलंबता, कम-लागत) और WebSocket API (द्विदिश) के बीच समझौते समझिए और उचित विकल्प चुनिए।
REST API बनाम HTTP API बनाम WebSocket API, CoddyKit पर AWS Solutions Architect का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह AWS Solutions Architect सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। AWS Solutions Architect पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
API Gateway क्यों मौजूद है
Amazon API Gateway एक पूरी तरह प्रबंधित सेवा है, जो आपको किसी भी स्तर पर APIs बनाने, प्रकाशित करने, सुरक्षित करने और उनकी निगरानी करने देती है। यह आपकी बैकएंड सेवाओं—Lambda फ़ंक्शन, EC2 इंस्टेंस, HTTP बैकएंड या किसी भी AWS सेवा—के लिए मुख्य प्रवेश द्वार के रूप में काम करती है। API Gateway ट्रैफ़िक प्रबंधन, प्राधिकरण, थ्रॉटलिंग, निगरानी और API संस्करण प्रबंधन संभालती है, इसलिए आपका बैकएंड API इंफ़्रास्ट्रक्चर से जुड़ी चिंताओं के बजाय व्यावसायिक तर्क पर ध्यान दे सकता है।
REST API: सुविधाओं से भरपूर पारंपरिक API
REST API (मूल API Gateway उत्पाद) सबसे व्यापक सुविधा-समूह प्रदान करता है: मैपिंग टेम्पलेट के साथ अनुरोध/प्रतिक्रिया रूपांतरण, प्रति-विधि थ्रॉटलिंग, API कुंजियों वाली उपयोग योजनाएँ, प्रतिक्रिया कैशिंग, WAF एकीकरण, X-Ray ट्रेसिंग, संसाधन नीतियाँ और क्लाइंट प्रमाणपत्र-आधारित पारस्परिक TLS। REST APIs सभी एकीकरण प्रकारों का समर्थन करती हैं: Lambda, HTTP, AWS सेवा, Mock और Lambda Proxy। जब आपको रूपांतरण, कैशिंग या उपयोग योजनाओं जैसी उन्नत सुविधाओं की आवश्यकता हो, तब REST API का उपयोग करें।
HTTP API: कम विलंबता और कम लागत वाला विकल्प
HTTP API को REST API के सरल, सस्ते और तेज़ विकल्प के रूप में बनाया गया था। यह केवल Lambda proxy और HTTP proxy एकीकरण का समर्थन करता है—AWS सेवा एकीकरण या Mock का नहीं। इसके प्रमुख लाभ हैं: REST API की तुलना में 70% तक कम लागत, कम विलंबता, अंतर्निहित OIDC और OAuth 2.0 JWT प्राधिकरण (सामान्य प्रमाणीकरण परिदृश्यों के लिए Lambda authoriser की आवश्यकता नहीं) और स्वचालित परिनियोजन। यदि आपको कैशिंग, उपयोग योजनाओं या अनुरोध/प्रतिक्रिया रूपांतरण की आवश्यकता नहीं है, तो HTTP API बेहतर विकल्प है।
# Create a simple HTTP API
aws apigatewayv2 create-api \
--name 'MyHttpAPI' \
--protocol-type HTTP \
--target 'arn:aws:lambda:us-east-1:123456789012:function:MyLambda'WebSocket API: द्विदिशीय रीयल-टाइम संचार
WebSocket API क्लाइंट और सर्वर के बीच स्थायी, द्विदिशीय कनेक्शन बनाए रखती है। HTTP (अनुरोध-प्रतिक्रिया) के विपरीत, WebSocket सर्वर को क्लाइंट द्वारा बार-बार अनुरोध किए बिना किसी भी समय जुड़े हुए क्लाइंट को संदेश भेजने की अनुमति देता है। API Gateway WebSocket कनेक्शन प्रबंधित करती है और रूट अभिव्यक्तियों के आधार पर संदेशों को Lambda फ़ंक्शन तक पहुँचाती है। रीयल-टाइम एप्लिकेशन के लिए WebSocket APIs का उपयोग करें: चैट ऐप, लाइव डैशबोर्ड, सहयोगात्मक संपादन, गेमिंग और स्टॉक टिकर।
WebSocket रूट और कनेक्शन प्रबंधन
WebSocket APIs में तीन अंतर्निहित रूट होते हैं: $connect (क्लाइंट द्वारा कनेक्शन खोलने पर सक्रिय), $disconnect (कनेक्शन बंद होने पर सक्रिय) और $default (मेल न खाने वाले संदेशों को संभालता है)। आप विशिष्ट Lambda फ़ंक्शन से मैप किए गए sendmessage जैसे कस्टम रूट जोड़ सकते हैं। अपने Lambda फ़ंक्शन से जुड़े हुए क्लाइंट को संदेश भेजने के लिए @connections प्रबंधन API का उपयोग करें और क्लाइंट की कनेक्शन ID दें।
# Send a message to a specific WebSocket client from Lambda
import boto3
gw_client = boto3.client(
'apigatewaymanagementapi',
endpoint_url='https://abc123.execute-api.us-east-1.amazonaws.com/prod'
)
def lambda_handler(event, context):
connection_id = event['requestContext']['connectionId']
gw_client.post_to_connection(
Data='{"type": "message", "text": "Hello!"}',
ConnectionId=connection_id
)सुविधाओं की तुलना: REST बनाम HTTP बनाम WebSocket
मुख्य अंतर एक नज़र में:
- REST API: पूरी सुविधाएँ (कैशिंग, उपयोग योजनाएँ, रूपांतरण, WAF), अधिक लागत और सभी एकीकरण प्रकारों का समर्थन
- HTTP API: केवल Lambda/HTTP proxy, 70% सस्ती, अंतर्निहित JWT प्रमाणीकरण, कम विलंबता और कैशिंग या उपयोग योजनाएँ नहीं
- WebSocket API: स्थायी द्विदिशीय कनेक्शन, सर्वर से संदेश भेजने की क्षमता और प्रति दस लाख संदेश तथा कनेक्शन समय के प्रति मिनट शुल्क
SAA-C03 परीक्षा के लिए: रीयल-टाइम या उन्नत सुविधाओं के बिना HTTP संबंधी प्रश्न → HTTP API। रीयल-टाइम पुश → WebSocket। जटिल API सुविधाएँ → REST API।
स्टेज और परिनियोजन
API Gateway APIs को स्टेज परिनियोजित किया जाता है (जैसे dev, staging, prod)। प्रत्येक स्टेज का अपना URL और थ्रॉटलिंग सेटिंग होती है और वह किसी विशिष्ट परिनियोजन स्नैपशॉट को संदर्भित कर सकता है। प्रति स्टेज बैकएंड एंडपॉइंट को पैरामीटराइज़ करने के लिए स्टेज चर (पर्यावरण चरों के समान) का उपयोग करें—उदाहरण के लिए, API कॉन्फ़िगरेशन की प्रतिलिपि बनाए बिना dev स्टेज को dev Lambda उपनाम और prod को prod उपनाम की ओर निर्देशित करें।
# REST API: create a deployment and stage
aws apigateway create-deployment \
--rest-api-id 'abc123' \
--stage-name 'prod'
# Set stage variable
aws apigateway update-stage \
--rest-api-id 'abc123' \
--stage-name 'prod' \
--patch-operations 'op=replace,path=/variables/lambdaAlias,value=prod'कस्टम डोमेन नाम और बेस पाथ मैपिंग
डिफ़ॉल्ट रूप से API Gateway URLs में API ID शामिल होता है (जैसे abc123.execute-api.us-east-1.amazonaws.com)। उत्पादन उपयोग के लिए, ACM प्रमाणपत्र द्वारा समर्थित कस्टम डोमेन नाम बनाएँ और उसे अपने API तथा स्टेज से मैप करें। एक ही डोमेन के अंतर्गत कई APIs होस्ट करने के लिए बेस पाथ मैपिंग का उपयोग करें (जैसे api.example.com/orders → Orders API, api.example.com/users → Users API)। कस्टम डोमेन नामों के लिए API Gateway एंडपॉइंट की ओर संकेत करने वाला Route 53 उपनाम रिकॉर्ड आवश्यक होता है।
एज-ऑप्टिमाइज़्ड बनाम क्षेत्रीय बनाम निजी APIs
REST APIs को तीन एंडपॉइंट प्रकारों में परिनियोजित किया जा सकता है: Edge-Optimised (वैश्विक वितरण के लिए CloudFront फ्रंट-एंड, डिफ़ॉल्ट), Regional (CloudFront नहीं; उसी क्षेत्र के क्लाइंट के लिए या अपना CloudFront जोड़ने पर कम विलंबता) और Private (इंटरफ़ेस VPC एंडपॉइंट के माध्यम से केवल आपके VPC के भीतर से सुलभ, आंतरिक माइक्रोसर्विस के लिए)। HTTP APIs Edge-Optimised और Regional का समर्थन करती हैं। WebSocket APIs Regional और Private का समर्थन करती हैं। उसी क्षेत्र से उपयोग की जाने वाली APIs के लिए या कस्टम CloudFront वितरण का उपयोग करते समय Regional चुनें।
API Gateway के साथ कैनरी परिनियोजन
API Gateway REST APIs किसी स्टेज पर कैनरी परिनियोजन का समर्थन करती हैं। आप ट्रैफ़िक के एक प्रतिशत को कैनरी परिनियोजन (नए संस्करण) तक भेज सकते हैं, जबकि शेष ट्रैफ़िक उत्पादन परिनियोजन तक जाता है। कैनरी की त्रुटि दर और विलंबता की निगरानी करें; स्थिर होने पर उसे 100% तक बढ़ा दें। समस्याएँ आने पर कैनरी भार को 0 पर सेट करके वापस लौटें। यह Lambda उपनाम के भारित रूटिंग के समान है और ब्लू/ग्रीन परिवेशों को बदलने के बिना सुरक्षित, क्रमिक API अपडेट की अनुमति देता है।
परीक्षा के लिए सही API प्रकार चुनना
API प्रकार पहचानने के लिए SAA-C03 परीक्षा के प्रश्नों में इन कीवर्ड पर ध्यान दें: 'लागत-प्रभावी सरल API' → HTTP API; 'रीयल-टाइम द्विदिशीय' या 'सर्वर पुश' या 'चैट' → WebSocket API; 'अनुरोध रूपांतरण', 'उपयोग योजनाएँ', 'API कुंजी थ्रॉटलिंग', 'प्रतिक्रिया कैशिंग' → REST API। जब प्रश्न केवल 'कम लागत में Lambda को HTTP एंडपॉइंट के रूप में उपलब्ध कराना' हो, तो HTTP API सही विकल्प है। जब प्रश्न में जटिल API प्रबंधन सुविधाएँ या साझेदार शामिल हों, तो आमतौर पर REST API सही होती है।
त्वरित जाँच
इस पाठ में दिए गए AWS Solutions Architect (SAA-C03) कॉन्सेप्ट की अपनी समझ का परीक्षण करें।
पाठ का पुनरावलोकन
इस पाठ में आपने सीखा: REST API अधिक लागत पर API Gateway की पूरी सुविधा-समूह (कैशिंग, रूपांतरण, उपयोग योजनाएँ, WAF) प्रदान करती है; HTTP API अंतर्निहित JWT प्रमाणीकरण और कम विलंबता के साथ 70% सस्ती है तथा उन्नत सुविधाओं के बिना Lambda/HTTP proxy परिदृश्यों के लिए आदर्श है; और WebSocket API चैट, गेमिंग तथा लाइव डेटा एप्लिकेशन के लिए स्थायी कनेक्शन पर सर्वर-पुश रीयल-टाइम संचार सक्षम करती है। आगे हम Lambda, HTTP बैकएंड और Mock प्रतिक्रियाओं के साथ API Gateway एकीकरण का अध्ययन करेंगे।
एआई शिक्षक के साथ AWS Solutions Architect सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “REST API बनाम HTTP API बनाम WebSocket API” पाठ निःशुल्क है?
हाँ — AWS Solutions Architect अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “REST API बनाम HTTP API बनाम WebSocket API” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। AWS Solutions Architect पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“REST API बनाम HTTP API बनाम WebSocket API” में मैं क्या सीखूँगा?
REST API (सुविधा-समृद्ध), HTTP API (कम-विलंबता, कम-लागत) और WebSocket API (द्विदिश) के बीच समझौते समझिए और उचित विकल्प चुनिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ AWS Solutions Architect का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या AWS Solutions Architect शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर AWS Solutions Architect शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“REST API बनाम HTTP API बनाम WebSocket API” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस AWS Solutions Architect पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर AWS Solutions Architect पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- REST API बनाम HTTP API बनाम WebSocket API
- एकीकरण: Lambda, HTTP और मॉक
- प्राधिकरण: IAM, Lambda Authorizers और Cognito
- थ्रॉटलिंग, कैशिंग और उपयोग योजनाएँ