【问题标题】:Why do API's have different URLs?为什么 API 有不同的 URL?
【发布时间】:2018-01-26 15:11:39
【问题描述】:

为什么 API 使用不同的 URL? Web 服务器上有两个不同的接口吗?一个处理 API 请求,另一个处理 Web HTTP 请求?例如,可能有一个名为 www.joecoffee.com 的站点,但随后他们使用 URL www.api.joecoffe.com 进行 API 请求。为什么这里使用不同的 URL?

【问题讨论】:

  • 并非所有 API 都这样做,是否使用一种技术或另一种技术是 up for debate,并基于意见,

标签: rest api


【解决方案1】:

我们出于几个原因将它们分开,但它们并不总是适用。

关注点分离。

我们在一个项目中编写 API 代码,并将其部署在一个单元中。当我们在 API 上工作时,我们只担心这一点,我们不担心页面布局。当我们做网络工作时,这是完全独立的

不同的身份验证机制。

告诉用户登录的方式与告诉 API 客户端未通过身份验证的方式完全不同。

不同的可扩展性要求

可能是 API 执行了很多复杂的操作,而网络服务器提供或多或少的静态内容。因此,您可能希望在全球范围内添加数百个 API 服务器,但只有 10 个 Web 服务器。

不同的客户

您可能有一个用于 Web 客户端的 API 和一个用于移动客户端的单独 API。或者也许是一个公共的和一个私人的/经过身份验证的。这可能不适用于您的示例。

不同的技术

一种关注点分离的扩展,但它允许您将 Linux 服务器用于一个,而将 AWS Lambda 之类的东西用于另一个。

SSL 争论

这更像是一种反理性(特别是对于您给出的具体示例)。许多网站都对 Web 和 api 使用 SSL。大多数网站至少会为 API 使用 SSL。您倾向于将 SSL 证书与您的 URL 匹配,因此 可能 是有原因的。也就是说,如果您有 *.joecoffee.com 证书,您将使用 api.joecoffee.com 而不是 www.api.joecoffee.com(因为显然您的 URL 中额外的 '.' 成本更高,或类似的东西)。

正如@james 所建议的那样——没有真正的正确答案和一些争论。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-20
    • 2012-07-01
    • 2021-05-21
    • 1970-01-01
    相关资源
    最近更新 更多