我正在为我公司的数据设计一个公共 API。我们希望应用程序开发人员注册一个 API 密钥,以便我们可以监控使用和过度使用。
由于 API 是 REST,我最初的想法是将此密钥放在自定义标头中。这就是我看到谷歌、亚马逊和雅虎的做法。另一方面,我的老板认为如果密钥只是 URL 的一部分,那么 API 更易于使用,等等。“ http://api.domain.tld/longapikey1234/resource ”。我想对此有话要说,但它违反了 URL 作为您想要的简单地址的原则,而不是您想要它的方式或原因。
您认为将密钥放在 URL 中是否合乎逻辑?或者,如果为某些数据编写一个简单的 javascript 前端,您宁愿不必手动设置 HTTP 标头吗?