什么是端点?

我一直在阅读OAuth,它一直在谈论端点。端点到底是什么?

265767 次浏览

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

端点,在OpenID身份验证术语中,是您发送(POST)身份验证请求的URL。

摘录自谷歌认证API

要获得谷歌OpenID端点,可以通过向https://www.google.com/accounts/o8/id发送get或HEAD HTTP请求来执行发现。当使用GET时,我们建议将Accept报头设置为“application/xrds+xml”。谷歌返回一个包含OpenID提供者端点URL的XRDS文档。端点地址被注释为:

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

一旦您获得了谷歌端点,您就可以向它发送身份验证请求,并指定适当的参数(可在链接页面上获得)。通过向URL发送请求或发出HTTP POST请求连接到端点。

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

  1. 临时凭证请求URI(在OAuth 1.0a社区规范中称为请求令牌URL)。这是一个URI,您向其发送请求,以便从服务器/服务提供者获得未经授权的请求令牌。
  2. 资源所有者授权URI(在OAuth 1.0a社区规范中称为用户授权URL)。这是一个URI,您指示用户授权从临时凭据请求URI获得的请求令牌。
  3. 令牌请求URI(在OAuth 1.0a社区规范中称为访问令牌URL)。这是一个URI,您可以向其发送请求,以将授权请求令牌交换为访问令牌,然后使用访问令牌获取对受保护资源的访问权。

希望这能帮你理清思路。祝您学习OAuth愉快!如果您在实现OAuth客户端时遇到任何困难,请提出更多问题。

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

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

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

来吧,伙计们:)我们可以用例子来做得更简单:

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

将是两个不同的端点——一个用于retrieving(如"cRud"缩写),另一个用于updating(如"crUd")

就是这么简单!

端点是通过网络访问的服务、工具或应用程序的“连接点”。在软件世界中,任何正在运行并“监听”连接的软件应用程序都使用端点作为“前门”。当您希望连接到应用程序/服务/工具以交换数据时,您将连接到其端点

术语的端点是用于创建请求的URL。 从不同的角度来看下面的例子:

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

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

简单回答:“端点是一个抽象,它对消息通道的末端建模,系统可以通过它发送或接收消息”(易卜生,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

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

  • GET:从API端点检索数据。
  • PUT:通过API更新数据——类似于POST,但更多的是更新信息。
  • POST:向API发送数据。
  • DELETE:从给定API中删除数据。
  • 补丁:更新数据。