एक समापन बिंदु क्या है?


172

मैं OAuth के बारे में पढ़ रहा हूं और यह समापन बिंदुओं के बारे में बात कर रहा है। वास्तव में एक समापन बिंदु क्या है?


2
मैं इन जैसे पुराने पोस्टों पर ठोकर खाता रहता हूँ और यह नहीं समझ पाता कि इस तरह की पोस्ट को हमेशा अतीत में क्यों उतारा जाता है, लेकिन अगर यह वर्तमान पोस्टिंग है तो निश्चित रूप से इसे डीम्ड और डाउनवोट किया जाएगा।
tnkh

6
हो सकता है कि यह उलटा हो क्योंकि यह एक सवाल है जो अन्य लोगों के पास भी है। क्या यह बात नहीं है?
नोरा मैकडोगल-कोलिन्स

जवाबों:


74

अब तक पोस्ट किए गए सभी उत्तर सही हैं, एक समापन बिंदु केवल एक संचार चैनल का एक छोर है। OAuth के मामले में, तीन अंतिम बिंदु हैं जिनकी आपको आवश्यकता है:

  1. अस्थायी क्रेडेंशियल अनुरोध URI (जिसे OAuth 1.0a समुदाय युक्ति में अनुरोध टोकन URL कहा जाता है)। यह एक यूआरआई है जिसे आप सर्वर / सेवा प्रदाता से अनधिकृत अनुरोध टोकन प्राप्त करने के लिए अनुरोध भेजते हैं।
  2. संसाधन स्वामी प्राधिकरण URI (जिसे OAuth 1.0a समुदाय युक्ति में उपयोगकर्ता प्राधिकरण URL कहा जाता है)। यह एक URI है जिसे आप अस्थाई क्रेडेंशियल अनुरोध URI से प्राप्त एक अनुरोध टोकन को अधिकृत करने के लिए उपयोगकर्ता को निर्देशित करते हैं।
  3. टोकन अनुरोध URI (जिसे OAuth 1.0a समुदाय युक्ति में एक्सेस टोकन URL कहा जाता है)। यह एक यूआरआई है जिसे आप एक्सेस टोकन के लिए अधिकृत अनुरोध टोकन का आदान-प्रदान करने के लिए एक अनुरोध भेजते हैं जो तब एक संरक्षित संसाधन तक पहुंच प्राप्त करने के लिए उपयोग किया जा सकता है।

आशा है कि स्पष्ट चीजों में मदद करता है। OAuth के बारे में जानने में मज़ा लें! यदि आप OAuth क्लाइंट को लागू करने में किसी भी कठिनाई में भाग लेते हैं तो अधिक प्रश्न पोस्ट करें।


5
सिर्फ इसे (यानी "समापन बिंदु") एक "बेस यूआरआई" क्यों नहीं कहा जाता है? क्या "एंडपॉइंट" और "बेस यूआरआई" के बीच एक मूलभूत अंतर है? धन्यवाद।
रोक दिया

@Xlsx यह कार्यान्वयन पर निर्भर करता है। एक उदाहरण अनुरोध "/ उपयोगकर्ता? नाम = व्यवस्थापक" या "/ उपयोगकर्ता / व्यवस्थापक" प्राप्त कर सकता है। आप एक या दूसरे या दोनों या दोनों कर सकते थे।
बुरक

2
तब से उपयोगी नहीं है जब ओपी ने "सामान्य समापन बिंदु" के लिए कहा, विशेष रूप से OAuth नहीं। मैं अब उलझन में हूँ।
सुबह

311

चलो दोस्तों :) हम इसे सरल बना सकते हैं, उदाहरण के लिए:

/this-is-an-endpoint
/another/endpoint
/some/other/endpoint
/login
/accounts
/cart/items

और जब एक डोमेन के नीचे रखा जाता है, तो यह ऐसा दिखेगा:

https://example.com/this-is-an-endpoint
https://example.com/another/endpoint
https://example.com/some/other/endpoint
https://example.com/login
https://example.com/accounts
https://example.com/cart/items

Http या https हो सकता है, हम उदाहरण में https का उपयोग करते हैं।

उदाहरण के लिए, विभिन्न HTTP तरीकों के लिए एंडपॉइंट भी अलग हो सकते हैं:

GET /item/{id}
PUT /item/{id}

दो अलग-अलग अंतिमबिंदुओं होगा - के लिए एक आर (में "ग के रूप में etrieving आर उद" संक्षिप्त रूप), और के लिए अन्य यू pdating (में "करोड़ के रूप में यू डी")

और यह सब, वास्तव में इतना आसान है!


25
यह उल्लेख करने के लिए कि अलग-अलग HTTP तरीके अलग-अलग समापन बिंदु परिभाषित करते हैं।
बोयन कुशलेव

4
मैथ्यू 20:16 KJV - तो सबसे पहले (..) होगा :)
sobi3ch

2
यह बहुत बुरा है, स्टैक एक्सचेंज इस उत्तर को पहले या दूसरे उत्तर के रूप में नहीं दिखाता है। मेरे लिए, यह सूची में नीचे की ओर था और निश्चित रूप से सबसे अच्छा एक था क्योंकि मुझे नहीं पता था कि क्रियाओं और नियंत्रकों के एक पूरे सेट को एक समापन बिंदु माना जाता था, या एक एकल नियंत्रक में एक क्रिया को एक समापन बिंदु परिभाषित किया गया था। इस उत्तर ने मुझे बताया कि यह उत्तरार्द्ध था।
थोरिल व्रगे

इसलिए दुर्भाग्यपूर्ण है कि ओपी ने इस जवाब का चयन नहीं किया, जो सबसे अच्छा जवाब है।

1
@ समापन बिंदु आम तौर पर वह है जिसे एक अनुरोध द्वारा कहा जाना चाहिए, जो आप अपने एपीआई उपभोक्ताओं को एक इंटरफ़ेस के रूप में प्रदान करते हैं - जो आप उन्हें उपयोग करने के लिए कहते हैं। तो फिर इस उदाहरण में आपका कार्यान्वयन दो एंडपॉइंट को संभालता है (क्योंकि आपने अपने एपीआई उपभोक्ता / उपयोगकर्ता को कुछ कॉल करने के दो तरीके प्रदान किए हैं)। लेकिन मैंने सिर्फ यह लिखा है कि यह "आम तौर पर" है और अगर कोई ऐसा व्यक्ति है जो एंडपॉइंट को थोड़ा अलग कहने पर जोर देता है (जैसे आपके उदाहरण में कोई यह कहने के लिए जोर देगा कि यह एक एंडपॉइंट है), तो आप कहते हैं "ठीक है, जो भी हो, ये हैं सिर्फ शब्द! मैं काफी खुश हूं कि हम बस एक-दूसरे को समझते हैं "
टोमग

43

यह एक संचार चैनल का एक छोर है, इसलिए अक्सर इसे सर्वर या सेवा के URL के रूप में दर्शाया जाएगा।


35

एक एंडपॉइंट एक यूआरएल पैटर्न है जिसका उपयोग एपीआई के साथ संचार करने के लिए किया जाता है।


12

endpoint , ओपेनआईडी ऑथेंटिकेशन लिंगो में, वह URL है जिस पर आप प्रमाणीकरण अनुरोध भेजते हैं (POST)।

Google प्रमाणीकरण API के कुछ अंश

Google OpenID समापन बिंदु प्राप्त करने के लिए, https://www.google.com/accounts/o8/id पर GET या HEAD HTTP अनुरोध भेजकर खोज करें । GET का उपयोग करते समय, हम "एप्लिकेशन / xrds + xml" के लिए हेडर स्वीकार करने की सलाह देते हैं। Google एक XRDS दस्तावेज़ देता है जिसमें एक OpenID प्रदाता समापन बिंदु URL होता है। समापन बिंदु पता इस प्रकार दिया गया है:

<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/server</Type> 
<URI>{Google's login endpoint URI}</URI> 
</Service>

एक बार जब आप Google समापन बिंदु प्राप्त कर लेते हैं, तो आप उचित पैरामीटर (लिंक किए गए पृष्ठ पर उपलब्ध) निर्दिष्ट करते हुए, इसे प्रमाणीकरण अनुरोध भेज सकते हैं। आप URL के लिए अनुरोध भेजकर या HTTP POST अनुरोध बनाकर अंतिम बिंदु से कनेक्ट होते हैं।


7

एक एंडपॉइंट एक नेटवर्क पर एक्सेस की गई सेवा, उपकरण या एप्लिकेशन का 'कनेक्शन बिंदु' है। सॉफ़्टवेयर की दुनिया में, कोई भी सॉफ़्टवेयर एप्लिकेशन जो चल रहा है और कनेक्शन के लिए "सुनना" एक समापन बिंदु का उपयोग "फ्रंट डोर" के रूप में करता है। जब आप एप्लिकेशन / सेवा / उपकरण से कनेक्ट करना चाहते हैं तो आप उसके समापन बिंदु से कनेक्ट होने वाले डेटा का आदान-प्रदान करते हैं


4

Endpoint शब्द का इस्तेमाल शुरू में WCF सेवाओं के लिए किया गया था। बाद में भले ही इस शब्द का उपयोग API संसाधनों के पर्यायवाची के रूप में किया जा रहा हो, REST इन URI (URI [s] को कॉल करने की सलाह देता है जो HTTP क्रियाओं को समझते हैं और REST आर्किटेक्चर का अनुसरण करते हैं) "संसाधन" के रूप में।

संक्षेप में, एक संसाधन या समापन बिंदु एक दूरस्थ रूप से होस्ट किए गए एप्लिकेशन के लिए एक प्रविष्टि बिंदु है जो उपयोगकर्ताओं को HTTP प्रोटोकॉल के माध्यम से इसे संवाद करने की अनुमति देता है।


4

डाउन वोट (एस) का मेरे साथ कोई लेना-देना नहीं है, लेकिन स्रोत (: यहां तक ​​कि इसके लिए कोई कारण नहीं बताया गया है।


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

से एक अच्छा स्रोत


2

शब्द का समापन बिंदु वह URL है जो अनुरोध बनाने पर केंद्रित है। विभिन्न बिंदुओं से निम्नलिखित उदाहरण देखें:

/api/groups/6/workings/1
/api/v2/groups/5/workings/2
/api/workings/3

वे दिए गए एपीआई में स्पष्ट रूप से एक ही स्रोत का उपयोग कर सकते हैं।


1

संक्षिप्त उत्तर: "एक समापन बिंदु एक अमूर्तता है जो एक संदेश चैनल के अंत को मॉडल करता है जिसके माध्यम से एक प्रणाली संदेश भेज या प्राप्त कर सकती है" ( इबसेन, 2010 )।


समापन बिंदु बनाम URI (छूट)

समापन बिंदु URI के समान नहीं है। एक कारण यह है क्योंकि एक यूआरआई विभिन्न समापन बिंदुओं जैसे कि जीईटी को एक समापन बिंदु, दूसरे को पोस्ट, और इसी तरह से ड्राइव कर सकता है। उदाहरण:

@GET /api/agents/{agent_id} //Returns data from the agent identified by *agent_id*
@PUT /api/agents/{agent_id} //Update data of the agent identified by *agent_id*

समापन बिंदु बनाम संसाधन (छूट)

समापन बिंदु संसाधन के समान नहीं है। एक कारण यह है कि अलग-अलग समापन बिंदु एक ही संसाधन पर ड्राइव कर सकते हैं। उदाहरण:

@GET /api/agents/{agent_id} @Produces("application/xml") //Returns data in XML format
@GET /api/agents/{agent_id} @Produces("application/json") //Returns data in JSON format

0

सीधे शब्दों में कहें, एक समापन बिंदु एक संचार चैनल का एक छोर है। जब कोई API किसी अन्य सिस्टम के साथ इंटरैक्ट करता है, तो इस संचार के टचप्वाइंट को एंडपॉइंट माना जाता है। एपीआई के लिए, एक समापन बिंदु में एक सर्वर या सेवा का URL शामिल हो सकता है। प्रत्येक समापन बिंदु वह स्थान है जहां से एपीआई उन संसाधनों तक पहुंच सकते हैं जिन्हें उन्हें अपने कार्य को पूरा करने की आवश्यकता होती है।

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

अधिक पढ़ें...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.