RESTful接口
互联网发展至今,催生出了很多丰富多彩的应用,极大地调动了人们对这些应用的使用热情。但同时也为互联网应用带来了严峻的考验。具体体现在以下几个方面:
1. 部署方式的改变:当用户量不多的情况下,可能只需部署一台服务器就可以解决问题,但是当很多用户的情况下,为抗住高并发访问,需要组成应用集群对外提供服务;
2. 应用构建的改变:很多应用采用了多种技术解决方案,不同编程语言(如C,Java,Python),所以很难采用传统应用构建模式将不同模块整合进来;
3. 数据开放的改变:开放是互联网发展的必然,因为这种方式将应用本身的价值最大化了,同时用户可以基于已有功能生成特有需求应用,提高用户粘度,开放共赢。
而近观传统的Web应用,均为采用集中部署结构,基于某种特定技术开发完成,基于session或cookie等会话追踪机制。加上需要系统间交互信息,使得实现十分复杂,且可伸缩性、易用性、维护性极差。
基于以上矛盾,出现了一种新的互联网应用架构风格—REST(Representational StateTransfer)。最初这种思路出现在Roy Fielding博士的论文中,他也是HTTP规范的主要作者之一。REST充分利用HTTP的优势,以资源位核心,将资源的CRUD映射为HTTP的GET PUT POST DELTE方法,服务端无需保存任何客户端信息。客户端的每次资源请求包含了服务端响应需要的所有语义信