• 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中应该都是名词,表示一个事物,而非动词。

  • 相关阅读:
    【年度总结】——踏雪留痕
    ios提交程序后出现的各种问题
    c++动态库中使用命名空间的问题
    第八章 网络的时代—网络开发(4)
    USB otg 学习笔记
    servlet_3
    Windows server 2012清除并重建SID
    实时监听输入框值变化:oninput & onpropertychange
    JQuery 自动触发事件
    jquery input change事件
  • 原文地址:https://www.cnblogs.com/jmilkfan-fanguiju/p/7533739.html
Copyright © 2020-2023  润新知