什么是REST ?

什么是REST ?

                在网上也看了好多对REST的介绍,非常的理论化,看完后自己都怀疑人生了,还是云里雾里的不明白。

                REST并不是rest这个单词,而是REpresentational State Transfer这几个单词的缩写,就算你把这几个单词说出来,也并不代表您就能理解。REST可以直接翻译为 表现层状态转移,就是URl定位资源,用HTTP动词(GET、POST、DELETE、PUT)描述操作。

               REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口);


    那么为什么要使用REST风格呢?肯定是因为他有优点的,所以才选择使用它呀因此先介绍他的优点以及他的限制:

    1、客户端 服务端分离

      优点:提高用户界面的便捷性(操作简单)

      通过简化服务器提高可伸缩性(高性能,低成本)

      允许组件分别优化(可以让服务端和客户端分别改进和优化)

    2、无状态(stateless)

      从客户端的每个请求要包含服务器所需要的所有信息,所谓无状态就是所有的资源可以通过URI定位,而且这个URI与其他的资源无关,也不会因为其他资源的改变而改变。

      优点:提高可见性、可扩展性、可靠性

    3、缓存(Cachable)

      服务器返回信息化必须被标记是否可以缓存,如果缓存,客户端可能会重用之前的信息发送请求

      优点:减少交互次数和平均延迟


     4、统一接口(uniform interface)

      客户和服务器之间的通信方法必须是统一化的(GET、POST、DELETE、PUT)。

      优点:提高交互的可见性