RESTful_URI资源

简介: 目录目录RESTful的资源URI 标识资源URL 定位资源URI与URL的区别为什么使用资源的概念对资源的操作URI的设计RESTful的资源在RESTful基础知识篇中,介绍了资源是存在于业务逻辑层中的概念实体(如:应用程序对象、数据库记录、算法、HTML、视频图像等),它会在表现层中被确定,并最终由表现层将资源向自动化客户端以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中应该都是名词,表示一个事物,而非动词。

相关文章
|
算法 数据库
|
29天前
|
JSON API 数据库
解释如何在 Python 中实现 Web 服务(RESTful API)。
解释如何在 Python 中实现 Web 服务(RESTful API)。
22 0
|
1月前
|
缓存 安全 测试技术
构建高效的RESTful API:后端开发的实践指南
【2月更文挑战第17天】在数字化转型的浪潮中,RESTful API已成为连接不同软件组件、实现数据交互的核心桥梁。本文将深入探讨如何构建一个高效、可扩展且安全的RESTful API,涉及设计原则、开发流程以及性能优化等关键方面。我们将透过实际案例,展示如何在保证简洁性和灵活性的同时,满足日益增长的业务需求和技术挑战。
|
2月前
|
IDE Java API
使用Java Web技术构建RESTful API的实践指南
使用Java Web技术构建RESTful API的实践指南
|
1天前
|
安全 Java API
RESTful API设计与实现:Java后台开发指南
【4月更文挑战第15天】本文介绍了如何使用Java开发RESTful API,重点是Spring Boot框架和Spring MVC。遵循无状态、统一接口、资源标识和JSON数据格式的设计原则,通过创建控制器处理HTTP请求,如示例中的用户管理操作。此外,文章还提及数据绑定、验证、异常处理和跨域支持。最后,提出了版本控制、安全性、文档测试以及限流和缓存的最佳实践,以确保API的稳定、安全和高效。
|
13天前
|
前端开发 Java API
构建RESTful API:Java中的RESTful服务开发
【4月更文挑战第3天】本文介绍了在Java环境中构建RESTful API的重要性及方法。遵循REST原则,利用HTTP方法处理资源,实现CRUD操作。在Java中,常用框架如Spring MVC简化了RESTful服务开发,包括定义资源、设计表示层、实现CRUD、考虑安全性、文档和测试。通过Spring MVC示例展示了创建RESTful服务的步骤,强调了其在现代Web服务开发中的关键角色,有助于提升互操作性和用户体验。
构建RESTful API:Java中的RESTful服务开发
|
17天前
|
XML JSON 安全
谈谈你对RESTful API设计的理解和实践。
RESTful API是基于HTTP协议的接口设计,通过URI标识资源,利用GET、POST、PUT、DELETE等方法操作资源。设计注重无状态、一致性、分层、错误处理、版本控制、文档、安全和测试,确保易用、可扩展和安全。例如,`/users/{id}`用于用户管理,使用JSON或XML交换数据,提升系统互操作性和可维护性。
14 4