Apa itu Endpoint?

172

Saya telah membaca tentang OAuth dan terus berbicara tentang titik akhir. Apa itu titik akhir?

Klanestro
sumber
2
Saya terus tersandung pada postingan lama seperti ini dan tidak bisa mengerti mengapa postingan seperti ini selalu di-upvoted di masa lalu, tetapi pasti akan dihancurkan dan di-downvoted jika ini postingan saat ini.
tnkh
6
Mungkin itu terangkat karena itu pertanyaan orang lain juga. Bukankah itu intinya?
Nora McDougall-Collins

Jawaban:

74

Semua jawaban yang diposting sejauh ini benar, titik akhir hanyalah salah satu ujung saluran komunikasi. Dalam kasus OAuth, ada tiga titik akhir yang perlu Anda perhatikan:

  1. URI Permintaan Kredensial Sementara (disebut URL Token Permintaan dalam spesifikasi komunitas OAuth 1.0a). Ini adalah URI tempat Anda mengirim permintaan untuk mendapatkan Token Permintaan yang tidak sah dari server / penyedia layanan.
  2. URI Otorisasi Pemilik Sumber Daya (disebut URL Otorisasi Pengguna dalam spesifikasi komunitas OAuth 1.0a). Ini adalah URI yang Anda arahkan pengguna untuk mengesahkan Token Permintaan yang diperoleh dari URI Permintaan Kredensial Sementara.
  3. Permintaan Token URI (disebut URL Token Akses dalam spesifikasi komunitas OAuth 1.0a). Ini adalah URI tempat Anda mengirim permintaan untuk bertukar Token Permintaan resmi dengan Token Akses yang kemudian dapat digunakan untuk mendapatkan akses ke Sumber Daya yang Dilindungi.

Harapan yang membantu menjernihkan semuanya. Selamat belajar tentang OAuth! Poskan lebih banyak pertanyaan jika Anda mengalami kesulitan dalam mengimplementasikan klien OAuth.

Paul Osman
sumber
5
Mengapa tidak menyebutnya saja (yaitu yang disebut "titik akhir") sebagai "basis URI"? Apakah ada perbedaan mendasar antara "titik akhir" dan "basis URI"? Terima kasih.
Dirahasiakan
@ Xlsx Itu tergantung pada implementasinya. Contoh permintaan dapat berupa MENDAPATKAN "/ pengguna? Nama = admin" atau "/ pengguna / admin". Anda bisa melakukan satu atau yang lain atau keduanya atau tidak sama sekali.
Burak
2
Tidak berguna karena OP meminta "titik akhir umum", tidak secara khusus OAuth. Saya sekarang bingung.
subuh
312

Ayo teman-teman :) Kita bisa melakukannya dengan lebih sederhana, dengan contoh:

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

dan ketika diletakkan di bawah domain, itu akan terlihat seperti:

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

Bisa berupa http atau https, kami menggunakan https dalam contoh.

Endpoint juga dapat berbeda untuk metode HTTP yang berbeda, misalnya:

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

akan menjadi dua titik akhir yang berbeda - satu untuk r etrieving (seperti dalam singkatan "c R ud"), dan yang lainnya untuk u pdating (seperti dalam "cr U d")

Dan itu saja, sangat sederhana!

Tomeg
sumber
25
Terpilih untuk menyebutkan bahwa metode HTTP yang berbeda menentukan titik akhir yang terpisah.
Boyan Kushlev
4
Matius 20:16 KJV - Jadi yang terakhir adalah yang pertama (..) :)
sobi3ch
2
Sayang sekali, Stack Exchange tidak menunjukkan jawaban ini sebagai jawaban pertama atau kedua. Bagi saya, itu adalah daftar yang paling bawah dan jelas yang terbaik karena saya tidak tahu apakah seluruh rangkaian tindakan dan pengontrol dianggap sebagai titik akhir, atau satu tindakan dalam satu pengontrol tunggal menentukan titik akhir. Jawaban ini memberi tahu saya bahwa yang terakhir.
Thorkil Værge
Sangat disayangkan bahwa OP tidak memilih jawaban ini, yang merupakan jawaban terbaik.
1
@Bagikan titik akhir umumnya adalah apa yang seharusnya disebut dengan permintaan, apa yang Anda berikan sebagai antarmuka untuk konsumen API Anda - apa yang Anda perintahkan agar mereka gunakan. Jadi, dalam contoh ini, implementasi Anda menangani dua titik akhir (karena Anda memberikan dua cara kepada pelanggan API / pengguna untuk menelepon sesuatu). Tetapi saya hanya menulis bahwa itu "secara umum" dan jika ada beberapa orang yang bersikeras memanggil titik akhir sedikit berbeda (misalnya dalam contoh Anda seseorang akan bersikeras untuk mengatakan ini adalah satu titik akhir), maka Anda berkata "OK, apa pun, ini adalah hanya kata-kata! Saya cukup senang bahwa kita hanya saling memahami "
Tomeg
43

Ini adalah salah satu ujung saluran komunikasi, jadi sering kali ini direpresentasikan sebagai URL server atau layanan.

David M.
sumber
35

Titik akhir adalah pola URL yang digunakan untuk berkomunikasi dengan API.

SirLemuel
sumber
12

Titik akhir , dalam istilah otentikasi OpenID, adalah URL tempat Anda mengirim (POST) permintaan otentikasi.

Kutipan dari API autentikasi Google

Untuk mendapatkan titik akhir Google OpenID, lakukan pencarian dengan mengirimkan permintaan GET atau HEAD HTTP ke https://www.google.com/accounts/o8/id . Saat menggunakan GET, kami merekomendasikan pengaturan header Terima ke "application / xrds + xml". Google mengembalikan dokumen XRDS yang berisi URL titik akhir penyedia OpenID. Alamat titik akhir dianotasi sebagai:

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

Setelah memperoleh titik akhir Google, Anda dapat mengirim permintaan otentikasi ke sana, menentukan parameter yang sesuai (tersedia di halaman tertaut). Anda terhubung ke titik akhir dengan mengirim permintaan ke URL atau dengan membuat permintaan HTTP POST.

Amarghosh
sumber
7

Titik akhir adalah 'titik koneksi' dari suatu layanan, alat, atau aplikasi yang diakses melalui jaringan. Dalam dunia perangkat lunak, aplikasi perangkat lunak apa pun yang berjalan dan "mendengarkan" untuk koneksi menggunakan titik akhir sebagai "pintu depan." Saat Anda ingin terhubung ke aplikasi / layanan / alat untuk bertukar data, Anda terhubung ke titik akhir

Justin Franks
sumber
4

Istilah Endpoint pada awalnya digunakan untuk layanan WCF. Kemudian walaupun kata ini digunakan identik dengan sumber daya API, REST merekomendasikan untuk memanggil URI ini (URI [s] yang memahami kata kerja HTTP dan mengikuti arsitektur REST) ​​sebagai "Sumber Daya".

Singkatnya, Resource atau Endpoint adalah semacam titik masuk ke aplikasi yang dihosting dari jarak jauh yang memungkinkan pengguna untuk berkomunikasi melalui protokol HTTP.

krishna kanth
sumber
4

Pemungutan suara tidak ada hubungannya dengan saya, tetapi sumber (: Bahkan tidak ada alasan untuk itu.


Setiap titik akhir adalah lokasi dari mana API dapat mengakses sumber daya yang mereka butuhkan untuk menjalankan fungsinya. Yaitu, tempat API mengirim permintaan dan tempat sumber daya itu hidup, disebut titik akhir.

Dari sumber yang bagus .

snr
sumber
2

Titik akhir dari istilah ini adalah URL yang difokuskan untuk membuat permintaan. Lihatlah contoh-contoh berikut dari berbagai titik:

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

Mereka dapat dengan jelas mengakses sumber yang sama di API yang diberikan.

ismael
sumber
1

Jawaban singkat: "titik akhir adalah abstraksi yang memodelkan akhir saluran pesan di mana sistem dapat mengirim atau menerima pesan" ( Ibsen, 2010 ).


Endpoint vs URI (disambiguasi)

Titik akhir tidak sama dengan URI. Salah satu alasannya adalah karena URI dapat berkendara ke titik akhir yang berbeda seperti titik akhir ke GET, yang lain ke POST, dan sebagainya. Contoh:

@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 resource (disambiguasi)

Titik akhir tidak sama dengan sumber daya. Salah satu alasannya adalah karena titik akhir yang berbeda dapat mengarahkan ke sumber daya yang sama. Contoh:

@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
Cleber Jorge Amaral
sumber
0

Sederhananya, titik akhir adalah salah satu ujung saluran komunikasi. Ketika API berinteraksi dengan sistem lain, titik sentuh dari komunikasi ini dianggap sebagai titik akhir. Untuk API, titik akhir dapat menyertakan URL server atau layanan. Setiap titik akhir adalah lokasi dari mana API dapat mengakses sumber daya yang mereka butuhkan untuk menjalankan fungsinya.

API berfungsi menggunakan 'permintaan' dan 'tanggapan.' Ketika API meminta informasi dari aplikasi web atau server web, itu akan menerima respons. Tempat API mengirim permintaan dan tempat sumber daya itu hidup, disebut titik akhir.

Baca lebih lajut...

Saikat
sumber