似乎大多数流行的RESTful API更喜欢子域而不是子目录:
> api.twitter.com
> api.linkedin.com
> api.foursquare.com
> graph.facebook.com
我想知道背后是否有任何技术论据.
这是负载平衡的事情.
twitter.com has address 199.59.150.39
twitter.com has address 199.59.149.230
twitter.com has address 199.59.150.7
api.twitter.com has address 199.59.150.9
api.twitter.com has address 199.59.149.232
api.twitter.com has address 199.59.148.20
api.twitter.com has address 199.59.148.87
api.linkedin.com has address 216.52.242.83
linkedin.com has address 216.52.242.86
api.foursquare.com has address 50.19.210.39
foursquare.com has address 50.16.220.173
graph.facebook.com has address 66.220.146.87
facebook.com has address 66.220.158.11
facebook.com has address 69.171.229.11
facebook.com has address 69.171.242.11
facebook.com has address 66.220.149.11
当您在客户端而不是代理上将Web与API分开时,它确实有助于稳定性.例如,Twitter自己的站点在Ruby上运行,而后端主要用Scala编写.代理可以路由这两个,但它需要与API和主站点的大量连接,从而导致连接池的两倍大.
另一个优点是,当您的API关闭时,该网站仍然可以工作(不适用于Twitter,因为该网站建立在API之上).