• RESTful_URI资源


    目录

    RESTful的资源

    在RESTful基础知识篇中,介绍了资源是存在于业务逻辑层中的概念实体(如:应用程序对象、数据库记录、算法、HTML、视频图像等),它会在表现层中被确定,并最终由表现层将资源向自动化客户端以URI的形式公开。可以简单的将资源理解为公开的URI,在客户端中可以通过URI来对资源进行操作。所以首先我们必须理解URI的意义。

    URI 标识资源

    URI(uniform resource identifier,统一资源标识符):唯一的标识一个资源。URI的组成部分如下:
    1. 访问资源的协议
    2. 资源所在的Host
    3. 在Host中资源的路径(定义了某一个资源)
    Example:

    http://www.jmilk.com//Jpython
    1. 这是一个通过HTTP协议来访问的资源
    2. 存放资源的Host为www.jmilk.com
    3. 在Host中资源的路径为/Jpython

    URL 定位资源

    URL(uniform resource locator,统一资源定位器):URL是一种具体的URI(URL是URI的子集),即URL在标识了一个资源的同时,并且还指明了如何定位到这个资源。URL的组成部分如下:
    1. 访问资源的协议
    2. 存放资源的Host
    3. 资源在Host中的定位(定位到某一个具体的资源单位)
    格式:

    protocol :// hostname[:port] / path / [;parameters][?query]#fragment

    Example:

    http://img4.imgtn.bdimg.com/it/u=3215216746,1883997400&fm=21&gp=0.jpg
    1. 这是一个通过HTTP协议来访问的资源
    2. 存放此资源的Host为img4.imgtn.bdimg.com
    3. 被定位到的资源为:0.jpg

    URI与URL的区别

    通过上述的例子如果还不能很好的区别两者,那么简而言之:
    URI(定义、标识)表示请求服务器的路径,在这个路径下定义了这么一个资源。
    URL(定位)表示请求服务器的路径,并在这个路径下能够访问、获取、操作这么一个资源。

    为什么使用资源的概念

    资源对一个事物的高度抽象,系统中的一切都可以抽象为资源,例如:

    用户--> http://example.com/user
    商品--> http://example.com/product/1

    有了资源的概念后,我们可以通过Server向Client公开的URI来唯一的访问一个资源。符合松耦合、关注服务对象的RESTful设计理念

    对资源的操作

    对资源的操作包括获取、创建、修改和删除资源,这些操作对应了HTTP协议提供的GET、POST、PUT和DELETE方法。所以当我们从自动化客户端发起无状态请求时,需要在请求的头部包含有这些方法,最终通过URI和方法的组合来对Server中的资源进行操作。

    URI的设计

    一个URI到底是不是资源并不是由网址链接来决定,而是由这个URI的实际功能来决定,网址只是一个串符号。而且一个好的URI,能够对资源进行合理的描述,用户可以更直观的理解这个资源的功能作用。下面给出例子:
    /resources/142是好的URI,它看起来像是一个事物。
    /resources/142/get则不是好的URI,因为它看起来更像是一个动作,只有事物才符合资源的定义。
    所以要想符合RESTFul风格的设计,你的URI中应该都是名词,表示一个事物,而非动词。

  • 相关阅读:
    分区范围oracle partition table related operations
    软件应用交委有权力叫停打车软件吗?
    美国竞争对手华为将反击竞争对手:我们不会对它们友好
    类型名称了解typename的双重意义
    全局变量局部变量ScriptCase中的全局变量、局部变量
    方法定义django admin中 外键下拉框添加过滤(只需要显示我所要的过滤结果)
    移动设备恶意软件移动设备恶意软件应用泛滥 安卓成攻击首选
    nbtstat命令详解
    route命令范例
    硬盘MBR全面分析
  • 原文地址:https://www.cnblogs.com/jmilkfan-fanguiju/p/11825187.html
Copyright © 2020-2023  润新知