近些年来REST(REpsentationalStateTransfer)已经变成了webservices和webAPIs的标配。
在本文中我将向你展示如何简单地使用Python和Flask框架来创建一个RESTful的webservice。
什么是REST?六条设计规范定义了一个REST系统的特点:
客户端-服务器:客户端和服务器之间隔离,服务器提供服务,客户端进行消费。无状态:从客户端到服务器的每个请求都必须包含理解请求所必需的信息。换句话说,服务器不会存储客户端上一次请求的信息用来给下一次使用。可缓存:服务器必须明示客户端请求能否缓存。分层系统:客户端和服务器之间的通信应该以一种标准的方式,就是中间层代替服务器做出响应的时候,客户端不需要做任何变动。统一的接口:服务器和客户端的通信方法必须是统一的。按需编码:服务器可以提供可执行代码或脚本,为客户端在它们的环境中执行。这个约束是唯一一个是可选的。什么是一个RESTful的webservice?REST架构的最初目的是适应万维网的HTTP协议。
RESTfulwebservices概念的核心就是“资源”。资源可以用URI来表示。客户端使用HTTP协议定义的方法来发送请求到这些URIs,当然可能会导致这些被访问的”资源“状态的改变。HTTP标准的方法有如下:
=================================================================HTTP方法行为示例=================================================================GET获取资源的信息