为什么API会使用不同的网址? Web服务器上有两个不同的接口吗?一个处理API请求和其他Web HTTP请求?例如,可能有一个名为www.joecoffee.com的站点,但他们使用URL www.api.joecoffe.com来获取他们的API请求。为什么在这里使用不同的URL?
答案 0 :(得分:0)
我们因为几个原因而将我们分开,他们不会总是申请。
关注点分离。
我们在一个项目中编写API代码,并将其部署在一个单元中。当我们处理API时,我们只担心这一点,我们不担心页面布局。当我们进行网络工作时,这是完全分开的
不同的身份验证机制。
您告诉用户登录的方式与您告知API客户端未经过身份验证的方式完全不同。
不同的可扩展性要求
可能是API执行了许多复杂的操作,而Web服务器提供了或多或少的静态内容。因此,您可能希望在全球范围内添加数百个API服务器,但只有10个Web服务器。
不同的客户
您可能拥有Web客户端的API和移动客户端的单独API。或者也许是公共的和私人/认证的。这可能不适用于您的示例。
不同的技术
关注点分离的扩展类型,但它允许您将Linux服务器用于其中一个,并将AWS Lambda用于另一个。
SSL争吵
这个更像是一个反理由(特别是对于你给出的具体例子)。许多网站都使用SSL进行网络和api。大多数网站至少会使用SSL作为API。您倾向于将SSL证书与您的URL匹配,因此可能是其中的原因。也就是说,如果您有* .joecoffee.com证书,您将使用api.joecoffee.com而不是www.api.joecoffee.com(因为您的网址中显然需要额外的'。'或者类似的东西)。
正如@james建议的那样 - 没有真正正确的回答和一些辩论。