#(网站-网页端-web端-web应用-webAPP)REST-RESTful 前端

梗概

  • RESTful是一种基于HTTP协议的Web API设计风格

适用范围

场景

  • 小应用,不会发生太过根本性的重构
  • 快速开发

优点:

  • 简化了客户端和服务端之间的交互。
  • 提高了系统的可伸缩性。
  • 提高了系统的可靠性。
  • 降低了系统的耦合度
  • 提高了系统的安全性。
  • 提高了系统的可见性。

缺点:

  • 极度依赖于API文档
  • RESTful API 的设计需要遵循一定的规范,否则会导致接口定义过轻,很容易导致定义文档与实际实现不一致导致服务集成时的问题。
  • RESTful API 的设计需要考虑到资源的表述,这会增加开发人员的工作量。
  • 过度获取
    • 服务器一次全部响应所有的内容,造成浪费
  • 获取不足
    • 服务器响应的内容通常是深层次的,但只服务器返回表层内容,需要客户端自己多次深入内层
      • 服务器返回的内容通过另一个web api指向下层内容

两个核心:

RE表示网络资源以某种形式展现(representational)出来 ST表示带状态的传输(State Transfer):

六个约束

它的设计原则包括六个约束,分别是:

  • 统一接口⭐
    • 客户端和服务端之间交互的通用方式,包括URI、资源操作和资源表述三个方面。
  • 客户端-服务端分离
    • 前后端分离
  • 无状态
    • 服务端不应该保存客户端的状态。
    • 客户端请求必须包含所有必要的信息
  • 可缓存
    • 客户端可以缓存服务器响应,以减少网络传输。
  • 分层系统
    • 客户端不需要知道整个系统的架构,只需要知道与它相邻的层即可。
  • 按需代码
    • 可选的约束,允许服务端在适当的时候向客户端传输代码,以扩展客户端功能。

各种操作的实现方式

增改

child::http PUT

child::http DELETE

child::http GET