zoukankan      html  css  js  c++  java
  • RESTfull是什么

    经常做接口测试,会看很多接口文档,那怎么识别研发的接口设计是否足够规范,是否符合一些行业标准或准则。那认识了解RESTfull,可以让我们更具有专业性。让我们对接口文档的阅、接口合理性设计识别,做到有的放矢。

    REST是什么

    REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。

    REST本身并没有创造新的技术、组件或服务
    REST指的是一组架构约束条件和原则。如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。

    理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例。 所以我们这里描述的REST也是通过HTTP实现的REST。

    RESTfull主要做什么

    结合REST的原则,RESTfull从下面几个方面做了约束和原则。

    资源与URI
    统一资源接口
    资源的表述
    资源的链接
    状态的转移
    

    1. 资源与URI

    所有的资源都有一个资源标志符

    http://example.com/users/
    http://example.com/class/
    http://example.com/teacher/
    

    2. 统一资源接口

    幂等性:对同一REST接口的多次访问,得到的资源状态是相同的。
    安全性:对该REST接口访问,不会使服务器端资源的状态发生改变。
    

    示例

    1.传统URL请求格式:
    http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据
    http://127.0.0.1/user/save POST 新增用户
    http://127.0.0.1/user/update POST 修改用户信息
    http://127.0.0.1/user/delete GET/POST 删除用户信息
    
    2.RESTful请求格式:
    http://127.0.0.1/user/1 GET 根据用户id查询用户数据
    http://127.0.0.1/user POST 新增用户
    http://127.0.0.1/user PUT 修改用户信息
    http://127.0.0.1/user DELETE 删除用户信息
    

    3. 资源的表述

    服务端可以通过Content-Type告诉客户端资源的表述形式。

    资源的表述形式有:文本资源可以采用html、xml、json等格式,图片可以使用PNG或JPG展现出来

    4. 资源的链接

    很多人在设计RESTful架构时,使用很多时间来寻找漂亮的URI,而忽略了超媒体。所以,应该多花一些时间来给资源的表述提供链接,而不是专注于"资源的CRUD"。

    比如下一页的链接地址、资源的链接地址都应该符合RESTful的设计思路。

    5. 状态的转移

    原则上要求无状态通信原则。

    这里说的无状态通信原则,并不是说客户端应用不能有状态,而是指服务端不应该保存客户端状态。

    推荐学习

    感兴趣的话,了解下HTTP为什么定义了这么多请求类型

    扫一扫,关注我

  • 相关阅读:
    linux运维学习
    2017年阿里巴巴三面经验
    Spring Boot:在Spring Boot中使用Mysql和JPA
    meshroom和alicevision在Ubuntu16上的安装过程
    ubuntu rm -rf ntfs 硬盘恢复
    python 脚本内部修改 LD_LIBRARY_PATH
    python uml 图
    tlmgr 相关
    ubuntu 安装 clangd 10.0.0
    zsh 快捷键
  • 原文地址:https://www.cnblogs.com/hally/p/13795167.html
Copyright © 2011-2022 走看看