RESTful碎碎笔记

RESTful

各论坛对于RESTful架构风格的博文有不少,学习过后记录下一些小笔记~

  • 本质:一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
  • 核心: 面向资源
    • 万物抽象为资源
    • 每一种资源都有唯一标识
    • 所有的操作无状态
  • 解决问题:

    • 降低开发的复杂性
    • 提高系统的可伸缩性
  • http

    • 请求方式
      • GET:请求指定页面信息,并返回实体主体
      • POST:向指定资源提交数据进行处理,譬如提交表单或上传文件,可导致新的资源地建立和已有资源地修改
      • HEAD:与GET类似,但HEAD并不返回消息体,只返回页面首部
      • PUT:传输数据替代指定地服务器端内容
      • PATCH:修改部分属性
      • DELETE:删除指定资源
      • OPTIONS:查询服务器的性能或查询与资源相关的选项和需求
    • 常见状态码:
      • 200 请求成功
      • 301:资源被永久转移到其他URL
      • 400:语法错误
      • 401:未授权(有认证参数),拒绝提供服务
      • 403:用户访问禁止(无认证参数)
      • 404 资源不存在
      • 500:服务器内部出错
      • 503:服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
  • 与其他架构的区别

    • SOAP WEBSERVICE
    • 由于各种需求不断扩充本身协议的内容,导致其处理性能方面下降
    • 复杂的、重量级的协议
    • 安全性较高
    • REST
    • 面向资源接口设计和操作抽象简化了开发者的不良设计,极大限度地利用http最初的应用协议设计理念
    • 轻量级
    • 安全性较低
  • RESTful API

    • 路径
      • 无动词
      • 名词使用复数
    • HTTP动词
      • CRUD
      • PATCH(仅返回更新的属性)
      • PUT(返回完整对象)
    • 过滤信息
      • 譬如:”?offset = 10”;
    • 状态码
    • 错误处理

由Server统一提供一套RESTful API,web+ios+android作为同等公民调用API。各端发展到现在,都有一套比较成熟的框架来帮开发者事半功倍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值