什么是端点?

Kla*_*tro 152 authentication api oauth endpoint

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

Tom*_*meg 236

来吧伙计:)我们可以通过例子更简单地做到:

/this-is-an-endpoint
/another/endpoint
/some/other/endpoint
/login
/accounts
/cart/items
Run Code Online (Sandbox Code Playgroud)

当放在域下时,它看起来像:

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
Run Code Online (Sandbox Code Playgroud)

可以是http或https,我们在示例中使用https.

对于不同的HTTP方法,端点也可以不同,例如:

GET /item/{id}
PUT /item/{id}
Run Code Online (Sandbox Code Playgroud)

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

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

  • 赞成提及不同的HTTP方法定义单独的端点. (16认同)
  • _马太福音20:16 KJV-所以最后一个应该是第一个(..)_ :) (2认同)
  • 太糟糕了,Stack Exchange不会将此答案显示为第一个或第二个答案。对我来说,它排在最后,绝对是最好的,因为我不知道是否将整个动作和控制器集合视为端点,或者单个控制器中的单个动作定义了端点。这个答案告诉我是后者。 (2认同)
  • @Parth 端点通常是请求应该调用的端点,您作为 API 消费者提供的接口 - 您告诉他们使用的端点。因此,在这个示例中,您的实现处理两个端点(因为您为 API 使用者/用户提供了两种调用方式)。但我只是写道,这是“一般”的,如果有人坚持要求端点有点不同(例如,在您的示例中,有人坚持说这是一个端点),那么您会说“好吧,无论如何,这些都是只是言语!我很高兴我们只是互相理解” (2认同)
  • 这非常简单明了,但我有一个问题?什么是端点?:p 我想说的是,乍一看,端点就像 Web 服务器中的文件。这是真的?也可以是其他东西吗?谢谢 (2认同)

Pau*_*man 67

到目前为止发布的所有答案都是正确的,端点只是通信渠道的一端.对于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客户端时遇到任何困难,请发布更多问题.

  • 为什么不把它称为"基本URI"(即所谓的"端点")?"端点"和"基本URI"之间是否存在根本区别?谢谢. (4认同)
  • 没有用,因为 OP 要求“通用端点”,而不是专门的 OAuth。我现在很困惑。 (2认同)

Dav*_*d M 41

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


Sir*_*uel 30

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


Cle*_*ral 14

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


端点与 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*
Run Code Online (Sandbox Code Playgroud)

端点与资源(消歧义)

端点与资源不同。原因之一是不同的端点可以驱动到相同的资源。例子:

@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
Run Code Online (Sandbox Code Playgroud)


Ama*_*osh 11

在开放式身份验证术语中的结束点是您向其发送(POST)身份验证请求的URL.

摘自Google身份验证API

要获得谷歌OpenID端点,通过发送GET或HEAD HTTP请求执行发现https://www.google.com/accounts/o8/id.使用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>
Run Code Online (Sandbox Code Playgroud)

获得Google端点后,您可以向其发送身份验证请求,指定相应的参数(在链接页面上可用).您可以通过向URL发送请求或发出HTTP POST请求来连接到端点.


kri*_*nth 6

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

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


小智 6

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


ism*_*ael 6

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

/api/groups/6/workings/1
/api/v2/groups/5/workings/2
/api/workings/3
Run Code Online (Sandbox Code Playgroud)

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