Điểm cuối là gì?


172

Tôi đã đọc về OAuth và nó cứ nói về các điểm cuối. Chính xác thì điểm cuối là gì?


2
Tôi tiếp tục vấp phải những bài viết cũ như thế này và không thể hiểu tại sao loại bài đăng này luôn được nâng cấp trong quá khứ, nhưng nó chắc chắn sẽ bị bash và hạ cấp nếu đây là bài đăng hiện tại.
tnkh

6
Có lẽ nó được nâng cấp bởi vì đó là một câu hỏi mà người khác cũng có. Đó không phải là vấn đề sao?
Nora McDougall-Collins

Câu trả lời:


74

Tất cả các câu trả lời được đăng cho đến nay là chính xác, một điểm cuối chỉ đơn giản là một đầu của một kênh truyền thông. Trong trường hợp của OAuth, có ba điểm cuối bạn cần quan tâm:

  1. URI yêu cầu thông tin xác thực tạm thời (được gọi là URL mã thông báo yêu cầu trong thông số cộng đồng OAuth 1.0a). Đây là một URI mà bạn gửi yêu cầu để nhận Mã thông báo yêu cầu trái phép từ nhà cung cấp dịch vụ / máy chủ.
  2. URI ủy quyền của chủ sở hữu tài nguyên (được gọi là URL ủy quyền người dùng trong thông số cộng đồng OAuth 1.0a). Đây là một URI mà bạn hướng người dùng ủy quyền cho Mã thông báo yêu cầu nhận được từ URI yêu cầu thông tin xác thực tạm thời.
  3. URI yêu cầu mã thông báo (được gọi là URL mã thông báo truy cập trong thông số cộng đồng OAuth 1.0a). Đây là một URI mà bạn gửi yêu cầu để trao đổi Mã thông báo yêu cầu được ủy quyền cho Mã thông báo truy cập mà sau đó có thể được sử dụng để có quyền truy cập vào Tài nguyên được bảo vệ.

Hy vọng rằng sẽ giúp mọi thứ rõ ràng lên. Hãy vui vẻ học về OAuth! Gửi thêm câu hỏi nếu bạn gặp bất kỳ khó khăn nào khi triển khai ứng dụng khách OAuth.


5
Tại sao không chỉ gọi nó (tức là "điểm cuối") là "URI cơ sở"? Có sự khác biệt cơ bản giữa "điểm cuối" và "URI cơ sở" không? Cảm ơn.
Giữ lại

@Xlsx Nó phụ thuộc vào việc thực hiện. Một yêu cầu ví dụ có thể là NHẬN "/ users? Name = admin" hoặc "/ users / admin". Bạn có thể làm một hoặc khác hoặc cả hai hoặc không.
Burak

2
Không hữu ích vì OP yêu cầu "điểm cuối chung", không cụ thể là OAuth. Bây giờ tôi đang bối rối.
rạng sáng

308

Thôi nào các bạn :) Chúng ta có thể làm điều đó đơn giản hơn, bằng ví dụ:

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

và khi được đặt dưới một tên miền, nó sẽ trông như sau:

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

Có thể là http hoặc https, chúng tôi sử dụng https trong ví dụ.

Ngoài ra, điểm cuối có thể khác nhau đối với các phương thức HTTP khác nhau, ví dụ:

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

sẽ là hai điểm cuối khác nhau - một cho r etrieving (như trong chữ viết tắt "c R ud") và điểm cuối cho u pdating (như trong "cr U d")

Và đó là tất cả, thực sự đơn giản!


25
Upvote để đề cập rằng các phương thức HTTP khác nhau xác định các điểm cuối riêng biệt.
Boyan Kushlev

3
Matthew 20:16 KJV - Vì vậy, người cuối cùng sẽ là người đầu tiên (..) :)
sobi3ch

2
Thật tệ, Stack Exchange không hiển thị câu trả lời này là câu trả lời đầu tiên hoặc thứ hai. Đối với tôi, nó nằm trong danh sách và chắc chắn là thứ tốt nhất vì tôi không biết liệu toàn bộ hành động và bộ điều khiển được coi là điểm cuối hay một hành động trong một bộ điều khiển duy nhất xác định điểm cuối. Câu trả lời này cho tôi biết đó là cái sau.
Thorkil Værge

Thật không may là OP đã không chọn câu trả lời này, đó là câu trả lời tốt nhất.

1
@Parth điểm cuối nói chung là những gì được cho là được gọi bởi một yêu cầu, những gì bạn cung cấp như một giao diện cho người tiêu dùng API của bạn - những gì bạn bảo họ sử dụng. Vì vậy, trong ví dụ này, việc triển khai của bạn xử lý hai điểm cuối (vì bạn đã cung cấp cho người tiêu dùng / người dùng API của mình hai cách để gọi một cái gì đó). Nhưng tôi chỉ viết rằng đó là "nói chung" và nếu có một người khăng khăng gọi điểm cuối hơi khác một chút (ví dụ trong ví dụ của bạn, ai đó sẽ khăng khăng nói đây là một điểm cuối), thì bạn nói "OK, sao cũng được, đây là chỉ cần lời nói! Tôi hạnh phúc đến mức chúng tôi chỉ đơn giản là hiểu nhau "
Tomeg

43

Đây là một đầu của một kênh liên lạc, do đó, thông thường này sẽ được thể hiện dưới dạng URL của máy chủ hoặc dịch vụ.


35

Điểm cuối là một mẫu URL được sử dụng để giao tiếp với API.


12

Điểm cuối , trong biệt ngữ xác thực OpenID, là URL mà bạn gửi (POST) yêu cầu xác thực.

Trích từ API xác thực của Google

Để có điểm cuối Google OpenID, hãy thực hiện khám phá bằng cách gửi yêu cầu HTTP GET hoặc HEAD HTTP đến https://www.google.com/accounts/o8/id . Khi sử dụng GET, chúng tôi khuyên bạn nên đặt tiêu đề Chấp nhận thành "application / xrds + xml". Google trả về tài liệu XRDS chứa URL điểm cuối của nhà cung cấp OpenID. Địa chỉ điểm cuối được chú thích là:

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

Khi bạn đã có được điểm cuối của Google, bạn có thể gửi yêu cầu xác thực đến nó, chỉ định các tham số thích hợp (có sẵn tại trang được liên kết). Bạn kết nối với điểm cuối bằng cách gửi yêu cầu tới URL hoặc bằng cách thực hiện yêu cầu POST HTTP.


7

Điểm cuối là 'điểm kết nối' của dịch vụ, công cụ hoặc ứng dụng được truy cập qua mạng. Trong thế giới của phần mềm, bất kỳ ứng dụng phần mềm nào đang chạy và "lắng nghe" các kết nối đều sử dụng điểm cuối là "cửa trước". Khi bạn muốn kết nối với ứng dụng / dịch vụ / công cụ để trao đổi dữ liệu bạn kết nối với điểm cuối của nó


4

Thuật ngữ Endpoint ban đầu được sử dụng cho các dịch vụ WCF. Sau này, mặc dù từ này đang được sử dụng đồng nghĩa với tài nguyên API, REST khuyên bạn nên gọi các URI này (URI [s] để hiểu các động từ HTTP và theo kiến ​​trúc REST) ​​là "Tài nguyên".

Tóm lại, Tài nguyên hoặc Điểm cuối là một loại điểm truy cập vào một ứng dụng được lưu trữ từ xa cho phép người dùng giao tiếp với nó thông qua giao thức HTTP.


4

(Các) phiếu bầu không liên quan gì đến tôi, nhưng nguồn (: Thậm chí không có lý do nào cho thấy điều đó.


Mỗi điểm cuối là vị trí mà API có thể truy cập các tài nguyên mà chúng cần để thực hiện chức năng của chúng. Đó là, nơi API gửi yêu cầu và nơi tài nguyên sống, được gọi là điểm cuối.

Từ một nguồn tốt đẹp .


2

Điểm cuối của thuật ngữ là URL được tập trung vào việc tạo một yêu cầu. Hãy xem các ví dụ sau từ các điểm khác nhau:

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

Họ rõ ràng có thể truy cập cùng một nguồn trong một API nhất định.


1

Câu trả lời ngắn gọn: "điểm cuối là sự trừu tượng mô hình hóa phần cuối của kênh thông báo mà qua đó hệ thống có thể gửi hoặc nhận tin nhắn" ( Ibsen, 2010 ).


Điểm cuối so với URI (định hướng)

Điểm cuối không giống như một URI. Một lý do là bởi vì một URI có thể lái đến các điểm cuối khác nhau như điểm cuối để NHẬN, một lý do khác để POST, v.v. Thí dụ:

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

Điểm cuối so với tài nguyên (định hướng)

Điểm cuối không giống như một tài nguyên. Một lý do là bởi vì các điểm cuối khác nhau có thể lái đến cùng một tài nguyên. Thí dụ:

@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

Nói một cách đơn giản, điểm cuối là một đầu của kênh truyền thông. Khi một API tương tác với một hệ thống khác, các điểm tiếp xúc của giao tiếp này được coi là điểm cuối. Đối với API, điểm cuối có thể bao gồm URL của máy chủ hoặc dịch vụ. Mỗi điểm cuối là vị trí mà API có thể truy cập các tài nguyên mà chúng cần để thực hiện chức năng của chúng.

API hoạt động bằng cách sử dụng 'yêu cầu' và 'phản hồi.' Khi API yêu cầu thông tin từ ứng dụng web hoặc máy chủ web, nó sẽ nhận được phản hồi. Nơi API gửi yêu cầu và nơi tài nguyên sống, được gọi là điểm cuối.

Đọc thêm...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.