文章目录
  1. 1. REST(Representational State Transfer)
    1. 1.0.1. 1.表现层 Representation
    2. 1.0.2. 2.状态转化 State Transfer
    3. 1.0.3. 3.REST特征
    4. 1.0.4. 4.REST四个基本原则:
  • 2. API:应用程序接口(API:Application Program Interface)
    1. 2.0.1. 作用:
    2. 2.0.2. API 设计:
    3. 2.0.3. API的四种类型:
  • REST(Representational State Transfer)

    REST全称Representational State Transfer,译为“表现层状态转化”,REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

    1.表现层 Representation

    “表现层”实际指的是“资源”的“表现层”。

    • “资源”,就是网络上一个实体或者说一个具体信息,例如一段文本、一张图片、一首歌等,每种“资源”用一个特定的URI指向,因此URI就成了每一个资源的地址或独一无二的识别符,获取这个资源,访问它的URI就可以。(”上网”,就是调用互联网上的资源的URI。)
    • “表现层”就是“资源”呈现出来的形式。比如,文本可以用txt格式表现,也可以用HTML格式、XML格式等表示。URI只代表”资源”的位置。它的具体表现形式即表现层,应该在HTTP请求的头信息中用Accept和Content-Type字段指定。

    2.状态转化 State Transfer

    客户端和服务器的互动过程中,涉及到数据和状态的变化。HTTP协议,是一个无状态协议。所以,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,对服务器端资源进行操作,必须通过某种手段,让服务器端发生”状态转化”。这种转化建立在表现层之上,所以就是”表现层状态转化”。

    • 客户端用到的手段,就是HTTP协议里的方法:

      GET:获取一个资源或者一个集合的所有资源
      POST:在服务器上新建资源
      PUT:更新服务器上的资源(提供整个修改后的资源)
      PATCH:更新服务器上的资源(只提供需要修改的部分)
      DELETE:从服务器上删除一个资源
      HEAD:获取资源的元信息(结构)
      OPTIONS:获取使用者可以对资源进行的操作

    总的来说,就是,客户端使用HTTP协议的几种方法,让服务器端的资源的表现层发生“状态转化”。

    3.REST特征

    • 采用客户端/服务器模式
    • 所有必要的信息要在客户端发出的请求中。服务器不能在两次请求之间保存客户端的任何状态。
    • 服务器发出的响应可以标记为可缓存或不可缓存,出于优化目的,客户端可以使用缓存。
    • 客户端访问服务器资源时使用的协议必须一致。
    • 客户端和服务器之间可按需插入代理服务器、缓存或网关。
    • 客户端可从服务器上下载代码,在客户端的环境中执行。

    4.REST四个基本原则:

    • 使用HTTP动词。
    • 无状态连接,服务器端不应保存过多上下文状态,即每个请求都是独立的。
    • 为每个资源设置URI。
    • 通过XML JSON进行数据传递。


    API:应用程序接口(API:Application Program Interface)

    API的实质是一些封装好的函数,它是操作系统提供给应用程序的一个调用接口,调用这个接口能使操作系统去执行应用程序的命令(动作)。可以说它是软件制定的功能访问接口.
    (例如你自己写了一个类,这个类里有很多函数,如果用户要使用你这个类,但是只知道这个函数的入口参数和返回值即只知道这个函数是做什么用的,对于用户来说你这些函数就是API。)

    作用:

    • 提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力。
    • 简化程序员对系统内部的调用。
    • 实现不同系统之间数据交换。
    • 实现计算机软件之间的相互通信。
    • API的一个主要功能是提供通用功能集。程序员通过调用API函数对应用程序进行开发,可以减轻编程任务。

    API 设计:

    • 在系统中是最外层的接口,是供用户直接调用的。
    • 稳定。
    • 定义清楚:方法名应该一目了然,参数数据结构良好,文档丰富清晰。
    • 多形式:可以用java进行export,以库的形式提供,也可以通过REST的方式进行访问等等。

    API的四种类型:

    • 远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。
    • 标准查询语言(SQL):是标准的访问数据的查询语言,通过数据库实现应用程序间的数据共享。
    • 文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。
    • 信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。
    文章目录
    1. 1. REST(Representational State Transfer)
      1. 1.0.1. 1.表现层 Representation
      2. 1.0.2. 2.状态转化 State Transfer
      3. 1.0.3. 3.REST特征
      4. 1.0.4. 4.REST四个基本原则:
  • 2. API:应用程序接口(API:Application Program Interface)
    1. 2.0.1. 作用:
    2. 2.0.2. API 设计:
    3. 2.0.3. API的四种类型: