Che cos'è un endpoint?


172

Ho letto di OAuth e continua a parlare di endpoint. Che cos'è esattamente un endpoint?


2
Continuo a inciampare su vecchi post come questi e non riesco a capire perché questo tipo di post sia sempre votato in passato, ma sarebbe sicuramente respinto e ridimensionato se questo è il post corrente.
tnkh

6
Forse è stato votato perché è una domanda che hanno anche altre persone. Non è questo il punto?
Nora McDougall-Collins,

Risposte:


74

Tutte le risposte pubblicate finora sono corrette, un endpoint è semplicemente un'estremità di un canale di comunicazione. Nel caso di OAuth, ci sono tre endpoint di cui devi preoccuparti:

  1. URI Richiesta credenziali temporanee (chiamato URL token richiesta nelle specifiche della community OAuth 1.0a). Questo è un URI al quale si invia una richiesta per ottenere un token di richiesta non autorizzato dal server / fornitore di servizi.
  2. URI di autorizzazione del proprietario della risorsa (chiamato URL di autorizzazione dell'utente nelle specifiche della comunità OAuth 1.0a). Si tratta di un URI a cui l'utente viene autorizzato ad autorizzare un token di richiesta ottenuto dall'URI di richiesta di credenziali temporanee.
  3. URI richiesta token (chiamato l'URL token di accesso nelle specifiche della community OAuth 1.0a). Questo è un URI al quale si invia una richiesta per scambiare un token di richiesta autorizzato con un token di accesso che può quindi essere utilizzato per ottenere l'accesso a una risorsa protetta.

Spero che questo aiuti a chiarire le cose. Divertiti a conoscere OAuth! Pubblica ulteriori domande in caso di difficoltà nell'implementazione di un client OAuth.


5
Perché non chiamarlo semplicemente "endpoint", un "URI di base"? C'è una differenza fondamentale tra un "endpoint" e un "URI di base"? Grazie.
Ritirato il

@Xlsx Dipende dall'implementazione. Una richiesta di esempio potrebbe essere quella di OTTENERE "/ users? Name = admin" o "/ users / admin". Potresti fare l'uno o l'altro o entrambi o nessuno dei due.
Burak,

2
Non utile poiché l'OP ha chiesto "endpoint generali", non specificamente OAuth. Ora sono confuso.
alba

312

Forza ragazzi :) Potremmo farlo più semplice, con esempi:

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

e quando inserito in un dominio, sarebbe simile a:

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

Può essere http o https, usiamo https nell'esempio.

Inoltre, l'endpoint può essere diverso per diversi metodi HTTP, ad esempio:

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

sarebbe due punti finali differenti - uno per r etrieving (come in "c R ud" abbreviazione), e l'altro per u ggiornamento (come in "cr U d")

E questo è tutto, davvero così semplice!


25
È stato votato per aver menzionato il fatto che diversi metodi HTTP definiscono endpoint separati.
Boyan Kushlev,

4
Matteo 20:16 KJV - Quindi l'ultimo sarà il primo (..) :)
sobi3ch

2
È un peccato, Stack Exchange non mostra questa risposta come prima o seconda risposta. Per me, era in fondo alla lista e sicuramente il migliore poiché non sapevo se un intero insieme di azioni e controller fosse considerato un endpoint o una singola azione in un singolo controller definiva un endpoint. Questa risposta mi ha detto che era la seconda.
Thorkil Værge,

Così sfortunato che OP non ha selezionato questa risposta, che è la risposta migliore.

1
@Parth l'endpoint in genere è ciò che dovrebbe essere chiamato da una richiesta, ciò che fornisci come interfaccia ai tuoi consumatori API - ciò che dici loro di usare. Quindi, in questo esempio, l'implementazione gestisce due endpoint (perché hai fornito all'utente / utente API due modi per chiamare qualcosa). Ma ho appena scritto che è "generalmente" e se c'è una persona che insiste a chiamare un endpoint un po 'diverso (ad esempio nel tuo esempio qualcuno insiste nel dire che questo è un endpoint), allora dici "OK, qualunque cosa, questi sono solo parole! Sono abbastanza felice che ci capiamo semplicemente "
Tomeg

43

È un'estremità di un canale di comunicazione, così spesso questo sarebbe rappresentato come l'URL di un server o servizio.


35

Un endpoint è un pattern URL utilizzato per comunicare con un'API.


12

Endpoint , nel linguaggio di autenticazione OpenID, è l'URL a cui si invia (POST) la richiesta di autenticazione.

Estratti dall'API di autenticazione di Google

Per ottenere l'endpoint OpenID di Google, eseguire il rilevamento inviando una richiesta GET o HEAD HTTP a https://www.google.com/accounts/o8/id . Quando si utilizza un GET, si consiglia di impostare l'intestazione Accept su "application / xrds + xml". Google restituisce un documento XRDS contenente un URL endpoint del provider OpenID. L'indirizzo dell'endpoint è annotato come:

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

Dopo aver acquisito l'endpoint di Google, è possibile inviare ad esso richieste di autenticazione, specificando i parametri appropriati (disponibili nella pagina collegata). Si connette all'endpoint inviando una richiesta all'URL o effettuando una richiesta POST HTTP.


7

Un endpoint è il "punto di connessione" di un servizio, strumento o applicazione a cui si accede tramite una rete. Nel mondo del software, qualsiasi applicazione software in esecuzione e in "ascolto" per le connessioni utilizza un endpoint come "porta principale". Quando si desidera connettersi all'applicazione / servizio / strumento per scambiare dati, ci si connette al suo endpoint


4

Il termine Endpoint è stato inizialmente utilizzato per i servizi WCF. Più tardi, anche se questa parola viene utilizzata come sinonimo di risorse API, REST consiglia di chiamare questi URI (URI [che] che comprendono i verbi HTTP e seguono l'architettura REST) ​​come "Risorsa".

In breve, una risorsa o un endpoint è una specie di punto di accesso a un'applicazione ospitata in remoto che consente agli utenti di comunicare tramite protocollo HTTP.


4

I voti negativi non hanno nulla a che fare con me, ma la fonte (: anche nessuna ragione indicata per questo.


Ogni endpoint è la posizione da cui le API possono accedere alle risorse di cui hanno bisogno per svolgere la loro funzione. Cioè, il luogo in cui le API inviano richieste e dove risiede la risorsa, è chiamato endpoint.

Da una bella fonte .


2

L'endpoint del termine è l'URL che si concentra sulla creazione di una richiesta. Dai un'occhiata ai seguenti esempi da diversi punti:

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

Possono accedere chiaramente alla stessa fonte in una determinata API.


1

Risposta breve: "un endpoint è un'astrazione che modella la fine di un canale di messaggi attraverso il quale un sistema può inviare o ricevere messaggi" ( Ibsen, 2010 ).


Endpoint vs URI (chiarimento delle ambiguità)

L'endpoint non è uguale a un URI. Uno dei motivi è che un URI può raggiungere diversi endpoint come un endpoint per GET, un altro per POST e così via. Esempio:

@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*

Endpoint vs risorsa (chiarimento delle ambiguità)

L'endpoint non è uguale a una risorsa. Uno dei motivi è che endpoint diversi possono indirizzare alla stessa risorsa. Esempio:

@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

In poche parole, un endpoint è un'estremità di un canale di comunicazione. Quando un'API interagisce con un altro sistema, i punti di contatto di questa comunicazione sono considerati punti finali. Per le API, un endpoint può includere un URL di un server o servizio. Ogni endpoint è la posizione da cui le API possono accedere alle risorse di cui hanno bisogno per svolgere la loro funzione.

Le API funzionano utilizzando "richieste" e "risposte". Quando un'API richiede informazioni da un'applicazione Web o un server Web, riceverà una risposta. Il luogo in cui le API inviano richieste e dove risiede la risorsa, è chiamato endpoint.

Leggi di più...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.