Bitiş Noktası nedir?


172

OAuth hakkında okudum ve uç noktalar hakkında konuşmaya devam ediyor. Tam olarak bir uç nokta nedir?


2
Böyle eski yazılarda tökezlemeye devam ediyorum ve bu tür bir yazının neden geçmişte her zaman neden yükseltildiğini anlayamıyorum, ancak bu şu anki gönderi ise kesinlikle bashed ve downvoted.
tnkh

6
Belki de kaldırıldı, çünkü bu diğer insanların da sorduğu bir soru. Mesele bu değil mi?
Nora McDougall-Collins

Yanıtlar:


74

Şimdiye kadar gönderilen tüm cevaplar doğrudur, bir bitiş noktası bir iletişim kanalının sadece bir ucudur. OAuth durumunda, endişelenmeniz gereken üç uç nokta vardır:

  1. Geçici Kimlik Bilgisi İsteği URI'sı (OAuth 1.0a topluluk spesifikasyonunda İstek Simgesi URL'si olarak adlandırılır). Bu, sunucudan / hizmet sağlayıcısından yetkisiz bir İstek Jetonu almak için istek gönderdiğiniz bir URI'dir.
  2. Kaynak Sahibi Yetkilendirme URI'sı (OAuth 1.0a topluluk spesifikasyonunda Kullanıcı Yetkilendirme URL'si olarak adlandırılır). Bu, kullanıcıyı Geçici Kimlik Bilgisi İsteği URI'sinden alınan bir İstek Simgesini yetkilendirmeye yönlendirdiğiniz bir URI'dir.
  3. Belirteç İsteği URI'sı (OAuth 1.0a topluluk spesifikasyonunda Erişim Jetonu URL'si olarak adlandırılır). Bu, daha sonra bir Korumalı Kaynağa erişim elde etmek için kullanılabilecek bir Erişim Jetonu ile yetkili bir İstek Jetonu değiştirmek için istek gönderdiğiniz bir URI'dir.

Umut etmek bu şeyleri temizlemeye yardımcı olur. OAuth hakkında öğrenme eğlenin! Bir OAuth istemcisini uygularken herhangi bir sorunla karşılaşırsanız daha fazla soru gönderin.


5
Neden sadece "temel nokta" olarak adlandırılır) "temel URI" olarak adlandırılmıyor? "Uç nokta" ile "temel URI" arasında temel bir fark var mı? Teşekkürler.
Withheld

@Xlsx Bu uygulamaya bağlıdır. Örnek bir istek "/ users? Name = admin" veya "/ users / admin" olabilir. Birini ya da diğerini ya da her ikisini birden yapabilirsiniz.
Burak

2
OP özellikle OAuth için değil, "genel uç noktalar" istediğinden faydalı değildir. Şimdi kafam karıştı.
şafak

312

Hadi çocuklar :) Daha basit yapabiliriz, örneklerle:

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

ve bir alan adının altına yerleştirildiğinde şöyle görünür:

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 veya https olabilir, örnekte https kullanıyoruz.

Ayrıca uç nokta farklı HTTP yöntemleri için farklı olabilir, örneğin:

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

iki farklı bitiş noktası olacaktır - biri r etrieving için ("c R ud" kısaltmasında olduğu gibi) ve diğeri u pdating için ("cr U d" de olduğu gibi)

Ve hepsi bu, gerçekten bu kadar basit!


25
Farklı HTTP yöntemlerinin ayrı uç noktaları tanımladığından bahsettik.
Boyan Kushlev

4
Matthew 20:16 KJV - Yani son ilk olacak (..) :)
sobi3ch

2
Çok kötü, Stack Exchange bu cevabı birinci veya ikinci cevap olarak göstermiyor. Benim için, listenin aşağısında ve kesinlikle en iyisiydi, çünkü bir dizi eylemin ve denetleyicinin bir bitiş noktası mı, yoksa tek bir denetleyicideki tek bir eylemin bir uç nokta tanımladığını bilmiyordum. Bu cevap bana ikincisinin olduğunu söyledi.
Thorkil Værge

O kadar talihsiz ki OP bu cevabı seçmedi, ki bu en iyi cevap.

1
@Parth son noktası genellikle bir istek tarafından çağrılması gereken şeydir, API tüketicilerinize arayüz olarak sağladığınız şeydir - onlara kullanmasını söylediğiniz şey. Bu durumda, bu örnekte uygulamanız iki uç noktayı işler (çünkü API tüketicinize / kullanıcınıza bir şeyi çağırmanın iki yolunu sağladığınızdan). Ama ben sadece "genel" olduğunu yazdım ve eğer son noktayı biraz farklı çağırmakta ısrar eden bir kişi varsa (örneğin, örneğinizde bunun bir son nokta olduğunu söylemekte ısrar eder), o zaman "Tamam, her neyse, bunlar sadece kelimeler! Sadece birbirimizi anladığımız için yeterince mutluyum "
Tomeg

43

Bir iletişim kanalının bir ucu, bu yüzden bu genellikle bir sunucunun veya hizmetin URL'si olarak temsil edilir.


35

Bitiş noktası, bir API ile iletişim kurmak için kullanılan bir URL modelidir.


12

Son nokta , OpenID kimlik doğrulama dilinde, kimlik doğrulama isteğini gönderdiğiniz (POST) URL'dir.

Google kimlik doğrulama API'sından alıntılar

Google OpenID uç noktasını elde etmek için, https://www.google.com/accounts/o8/id adresine bir GET veya HEAD HTTP isteği göndererek keşif gerçekleştirin . Bir GET kullanırken, Kabul üstbilgisini "application / xrds + xml" olarak ayarlamanızı öneririz. Google, bir OpenID sağlayıcı bitiş noktası URL'si içeren bir XRDS belgesi döndürür. Bitiş noktası adresi şu şekilde açıklanır:

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

Google uç noktasını edindikten sonra, uygun parametreleri (bağlı sayfada bulunur) belirterek kimlik doğrulama istekleri gönderebilirsiniz. URL'ye bir istek göndererek veya bir HTTP POST isteği yaparak uç noktaya bağlanırsınız.


7

Bitiş noktası, bir ağ üzerinden erişilen bir hizmetin, aracın veya uygulamanın 'bağlantı noktasıdır'. Yazılım dünyasında, bağlantılar için çalışan ve "dinleyen" herhangi bir yazılım uygulaması "ön kapı" olarak bir uç nokta kullanır. Uç noktaya bağlandığınız veri alışverişi için uygulamaya / hizmete / araca bağlanmak istediğinizde


4

Bitiş noktası terimi başlangıçta WCF hizmetleri için kullanılmıştır. Daha sonra bu kelime API kaynakları ile eşanlamlı olarak kullanılmasına rağmen, REST, HTTP fiillerini anlayan ve REST mimarisini takip eden bu URI (URI [s]) "Kaynak" olarak adlandırılmasını önerir.

Özetle, Kaynak veya Bitiş Noktası, kullanıcıların HTTP protokolü aracılığıyla iletişim kurmasını sağlayan uzaktan barındırılan bir uygulamaya bir tür giriş noktasıdır.


4

Aşağı oy (lar) ın benimle bir ilgisi yoktur, ancak kaynak (: Bunun için hiçbir neden belirtilmedi.


Her uç nokta, API'lerin işlevlerini yerine getirmek için ihtiyaç duydukları kaynaklara erişebilecekleri konumdur. Yani, API'lerin istek gönderdiği yere ve kaynağın yaşadığı yere bitiş noktası denir.

Gönderen güzel bir kaynaktan .


2

Terimin bitiş noktası, istek oluşturmaya odaklanan URL'dir. Aşağıdaki örneklere farklı noktalardan bir göz atın:

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

Belirli bir API'da aynı kaynağa açıkça erişebilirler.


1

Kısa cevap: "bir uç nokta, bir sistemin mesaj gönderebileceği veya alabileceği bir mesaj kanalının sonunu modelleyen bir soyutlamadır" ( Ibsen, 2010 ).


Uç nokta vs URI (anlam ayrımı)

Bitiş noktası bir URI ile aynı değil. Bunun bir nedeni, bir URI'nin GET'in bitiş noktası, diğeri POST ve benzeri gibi farklı uç noktalara gidebilmesidir. Misal:

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

Uç nokta vs kaynak (netleştirme)

Bitiş noktası bir kaynak ile aynı değildir. Bunun bir nedeni, farklı uç noktaların aynı kaynağa gidebilmesidir. Misal:

@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

Basitçe söylemek gerekirse, bir uç nokta bir iletişim kanalının bir ucudur. Bir API başka bir sistemle etkileşime girdiğinde, bu iletişimin temas noktaları uç noktalar olarak kabul edilir. API'lar için bir uç nokta, bir sunucu veya hizmetin URL'sini içerebilir. Her uç nokta, API'lerin işlevlerini yerine getirmek için ihtiyaç duydukları kaynaklara erişebilecekleri konumdur.

API'lar 'istekler' ve 'yanıtlar' kullanılarak çalışır. Bir API bir web uygulamasından veya web sunucusundan bilgi istediğinde, bir yanıt alır. API'lerin istek gönderdiği yere ve kaynağın yaşadığı yere bitiş noktası denir.

Daha fazla oku...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.