restful && rpc

  移动互联网的快速发展,出现了各种端:web端、安卓端、IOS端等,为了统一平台,服务器与各种端之间应该有一套标准的API接口;而 restful 风格的API接口设计正是最佳标准之一; 其实正是各种端的出现以及为解决各种端与服务器通信问题,导致API设计思想开始流行;RESTful API是目前比较成熟的一套互联网应用程序的API设计理论;

  当然并不是所有的web程序需要RESTful API接口的,在不使用前后端分离框架(angular,react,vue等)时,我们常见的开发是PHP、JSP等,这些HTML页面中的数据是在服务器端生成的,然后通过http请求传输到浏览器,这种完全用不到RESTful API接口的;以单页应用为例,譬如vuejs开发的web程序,所有的界面都是在浏览器中渲染,相关数据通过ajax从服务器端获取,所有的界面渲染、数据处理都是在前端完成,前后端彻底分开,其实这和应用程序已无差别;此时就可以通过RESTful 风格的API获取数据;

  RESTful API 是以http协议为基础的;简单地说,RESTful API是用URL描述资源,用http动词描述操作,用http状态码描述操作状态;

  URL描述资源只能是名词,http动词有:GET、PUT、POST、DELETE、PATCH等,http状态码有:200,400,403,404,500等;以获取图书为例:

GET  http://api.example.com/v/books    // 获取读书信息
DELETE  http://api.example.com/v/books/id  // 删除某一图书

  个人理解RESTful API:

    URL + HTTP动词 + HTTP状态码;

    看到URL就知道要操作哪一个资源;看到HTTP method动词就知道执行何种操作;看到HTTP状态码就知道操作的结果;

参考:(优质的文档能够准确,快速地理解掌握知识点;感谢以下文档)
  [1] 怎样用通俗的语言解释REST 以及RESTFUL

  [2] RESTful API 设计指南

原文地址:https://www.cnblogs.com/RocketV2/p/8480381.html