RESTful是一种设计模式,或者说是一种设计规范,它并没有太多强制性的要求之类的,实际上它有的只是几个原则,当一个应用满足这些原则的时候,可以认为它是RESTful的。
这些规范包括:
- 模型表示(Representations)
- 消息(Messages)
- URIs
- 一致接口(Uniform interface)
- 无状态(Stateless)
- 资源之间的链接(Links between resources)
- 缓存(Caching)
简单来时restful就是:URL定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。
Resource:资源,即数据。
Representational:某种表现形式,比如用JSON,XML,JPEG等;
State Transfer:状态变化。通过HTTP动词实现。
使用它的好处就是:
1.通过浏览器来发送请求的时候,只能使用POST和GET。这个限制仅在RESTful服务的客户端为浏览器的时候才存在,当客户端其他情况,而仅使用HTTP来通信的时候就没有这种限制了。这样做的好处就是资源和行为分离。
2.REST的核心是资源,并且资源是用统一资源定位符URL来标识的。概念上来讲,资源和他的状态(提供给客户的格式)是分开的。REST不做任何格式上的要求,但是一般包含XML和JSON。HTTP中的键值对这个题