这份设计指南的目标是帮助开发人员设计简单、一致、易用的网络API。同时,它也有助于收敛基于socket的API和(注:原文是with,这里翻译为“和”)基于HTTP的REST API。
以前,人们根据诸如CORBA和Windows COM这样的API接口和方法设计RPC API。随着时间的推移,接口和方法越来越多。最后,接口和方法数不胜数又各不相同。开发人员要正确使用它们,必须仔细了解每一个的用法,这很浪费时间而且容易出错。
2000年,为了与HTTP1.1搭配使用,REST架构风格出现。它的核心原则是定义用少量方法就能操作的命名资源。资源和方法可视为API的名词和动词。在HTTP协议中,资源名称自然地对应于URL,方法则对应于HTTP的POST、GET、PUT、PATCH和DELETE方法。
在互联网领域,HTTP REST API最近获得了巨大的成功。截至2010年,大约74%的公网API都是HTTP REST API。
尽管HTTP REST API在互联网领域已经很流行了,但其承载的流量还是比传统的RPC API小。比如,在高峰期,美国大约一半的互联网流量都是视频内容,出于性能上的考虑,很少有人用REST API。在数据中心内部,