• RESTful 架构理解


    REST中的关键词:

    1、资源

    2、资源的表述

    3、状态转移

     

    资源:

    "资源",可以是一段文本、一张图片、一首歌曲、一种操作。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或独一无二的识别符。

    网站的访问,就是与网站一系列的"资源"互动,调用它的URI。

    资源的表述

    资源的表现形式称作资源的表述。

      比如,文本既可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现,甚至可以采用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现。虽然表现形式不同,但资源是相同的。

      URI只代表资源的实体,不代表它的形式。严格地说,有些网址最后的".html"后缀名是不必要的,因为这个后缀名表示格式,属于"表现层"范畴,而URI应该只代表"资源"的位置。它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对"资源的表述"的描述。

    状态转移

      访问一个网站时,浏览器必然会和服务端发生交互,而这个过程就会涉及到数据和状态的变化。(也就是对数据的操作。此处的状态我理解为对数据的操作方式,比如增删改查)

      而HTTP协议是无状态的,所有的状态都保存在服务端。那么怎么改变服务端保存的状态呢?答案是:"状态转移",而这种转移是发生在资源的表述上的。

      客户端使用HTTP协议中的四个表示操作方式的动词:GET、POST、PUT、DELETE。分别表示:GET获取资源,POST更新或新建资源,PUT更新资源,DELETE删除资源(后两种基本不用)

    总结

    什么是RESTful架构:

      (1)每一个URI代表一种资源;

      (2)客户端和服务器之间,传递这种资源的表述;

      (3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"资源表述的状态转移"。

    REST风格的URI中不应该有动词

    当显示一个用户信息时,可能的URL地址就是:http://xxx/show/user?id=1 或者 http://xxx/user/show?id=1

    REST风格的URL地址则是:http://xxx/user/1,HTTP中的method就是GET了。

    注意:一般的HTTP的method的put和delete不用,而是通过在REST风格的URI后添加 "/操作" 来实现状态转移。

    REST是以资源为导向架构风格。

  • 相关阅读:
    抓包工具 Fiddler 使用介绍
    HTTP 协议常见首部字段
    HTTP 协议服务器相关概念
    HTTP 协议常见的状态码
    HTTP 协议中 GET 和 POST 方法详解
    设置html title标题左侧的小图标
    HTML页面如何判断是手机访问还是电脑访问
    使用Java的Frame类编写的QQ登录界面
    swing中JTable的使用方法
    采用MVC模式JDBC演示案例
  • 原文地址:https://www.cnblogs.com/lhat/p/5140050.html
Copyright © 2020-2023  润新知