什么是端点?

时间:2010-01-23 08:26:10

标签: api authentication oauth endpoint

我一直在阅读OAuth,它一直在讨论端点。什么是终点?

11 个答案:

答案 0 :(得分:173)

来吧伙伴们:)我们可以通过例子来简化:

/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}

将是两个不同的端点 - 一个用于 r etrieving(如“c R ud”缩写),另一个用于 u pdating(如“cr U d”)

这就是全部,真的那么简单!

答案 1 :(得分:63)

到目前为止发布的所有答案都是正确的,端点只是通信渠道的一端。对于OAuth,您需要关注三个端点:

  1. 临时凭证请求URI(在OAuth 1.0a社区规范中称为请求令牌URL)。这是您发送请求的URI,以便从服务器/服务提供商处获取未经授权的请求令牌。
  2. 资源所有者授权URI(称为OAuth 1.0a社区规范中的用户授权URL)。这是一个URI,您可以指示用户授权从临时凭证请求URI获取的请求令牌。
  3. 令牌请求URI(在OAuth 1.0a社区规范中称为访问令牌URL)。这是一个URI,您发送请求以便为访问令牌交换授权的请求令牌,然后可以使用该令牌来获取对受保护资源的访问权限。
  4. 希望有助于澄清事情。玩得开心学习OAuth!如果您在实施OAuth客户端时遇到任何困难,请发布更多问题。

答案 2 :(得分:35)

它是通信渠道的一端,因此通常将其表示为服务器或服务的URL。

答案 3 :(得分:25)

端点是用于与API通信的URL模式。

答案 4 :(得分:10)

OpenID身份验证术语中的

端点是您向其发送(POST)身份验证请求的URL。

摘自Google authentication API

  

要获取Google OpenID端点,请通过向https://www.google.com/accounts/o8/id发送GET或HEAD HTTP请求来执行发现。使用GET时,我们建议将Accept标头设置为“application / xrds + xml”。 Google会返回包含OpenID提供程序端点URL的XRDS文档。端点地址注释为:

<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请求来连接到端点。

答案 5 :(得分:4)

端点是通过网络访问的服务,工具或应用程序的“连接点”。在软件领域,任何正在运行并“侦听”连接的软件应用程序都将端点用作“前门”。当您要连接到应用程序/服务/工具以交换数据时,请连接到其端点

答案 6 :(得分:2)

术语Endpoint最初用于WCF服务。稍后,尽管这个词被用作API资源的同义词,但REST建议将这些URI(理解HTTP动词并遵循REST架构的URI [s])称为“资源”。

简而言之,资源或端点是远程托管应用程序的入口点,允许用户通过HTTP协议与其进行通信。

答案 7 :(得分:1)

简短的回答:“端点是一种抽象,它对系统可以通过其发送或接收消息的消息通道的末端进行建模”(Ibsen, 2010)。


端点vs URI(歧义消除)

终结点与URI不同。一个原因是因为URI可以驱动到不同的端点,例如GET的端点,POST的端点等等。示例:

@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

答案 8 :(得分:0)

API代表应用程序编程接口。这是您的应用程序通过端点与其他应用程序交互的一种方式。相反,您可以为您的应用程序构建一个API,其他开发人员可以使用它们通过RESTful HTTP方法来使用/连接。代表性状态转移(REST):

  • GET:从API端点检索数据。
  • PUT:通过API更新数据-与POST类似,但更多关于更新信息。
  • POST:将数据发送到API。
  • 删除:从给定的API中删除数据。

答案 9 :(得分:-1)

术语的终点是专注于创建请求的URL。 从不同的角度来看以下示例:

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

他们可以清楚地访问给定API中的相同源。

答案 10 :(得分:-1)

此次否决与我无关,但与消息来源无关:(甚至没有任何理由。


  

每个端点都是API可以从中访问资源的位置   他们需要履行其职能。也就是说,API发送请求的地方以及资源所在的地方称为端点。

来自a nice source