《JavaScript应用程序设计》一一1.13 RESTful JSON Web Services

简介:

本节书摘来华章计算机出版社《JavaScript应用程序设计》一书中的第1章,第1.13节,作者:Eric Elliott 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.13 RESTful JSON Web Services

表述性状态传递(Representational State Transfer,REST)是客户端与服务端的通信架构,REST架构采用关注点分离原则在数据资源与数据消费者之间建立了多层结构。在这种架构体系下,服务端仅关注数据资源的管理,而无需操心界面实现,客户端则可以以任何形式或语言去做界面实现。REST架构并不关心界面是被谁或是被怎样实现的,它仅处理并维护客户端与服务端的应用程序状态。
RESTful应用使用HTTP方法(POST、GET、PUT 和 DELETE)来告诉服务器,客户端当前对资源的操作行为,这些行为包括:
· 在资源集合创建条目: HTTP POST。
· 获取资源状态: HTTP GET。
· 更新(替换)资源: HTTP PUT。
· 删除资源或资源集合: HTTP DELETE。
如果你熟悉数据库的CRUD(创建、检索、更新和删除)操作,你会觉得上述行为与CRUD很相似,你可以将它们对号入座,不过要记住,在REST中,更新资源意味着将资源替换。
图1-2是一个较为典型的状态传递时序图。
image

图1-2:REST时序图

  1. 客户端通过HTTP GET请求服务端上的统一资源指示符(URI)来获取数据。在服务端上每个资源对应唯一的URI。
  2. 服务端从数据库或缓存中检索数据,随后将之封装成客户端所需的数据结构返回。
  3. 数据以文档的形式被返回,一般包含了经过JSON编码后的对象,尽管REST并没有严格指定数据交换格式。现今仍旧有不少基于XML的RESTful应用,随着JSON慢慢成为一项标准,越来越多的RESTful应用同时支持JSON与XML两种数据交换
    格式。
  4. 客户端接收并处理数据。
  5. 客户端通过HTTP PUT请求服务端同一URI上报处理过的数据。
  6. 用经PUT请求上报的数据替换服务端原有的数据。
    使用PUT还是POST做资源更新常常是一个让人感到困惑的问题,REST制定了资源访问的规则。除非客户端本身可以提供较为安全的唯一ID标识符,否则在资源集合新建资源的操作一律采用POST方式处理。在这种情形下,服务端生成ID标识符并返回给客户端。

例如, 你可以通过POST方法访问服务端的/users/资源路径从而创建一个新用户,此时服务端会给新用户生成一个唯一ID标识符,随后你便可以通过/users/userid/资源路径获取该资源。在服务端每一个唯一的URI路径对应一个新的用户,POST方法不能用于更新或修改现有的资源集,仅能够做资源添加。
而使用PUT方法访问服务端的/user/userid资源路径,则可以更新用户的信息,注意,这项操作将完全将原有的资源替换,所以请确保所更新资源内容的信息完整性。
在第8章中我们会详细介绍REST架构。

相关文章
|
1月前
|
开发框架 JavaScript 前端开发
使用 Node.js 和 Express 构建 Web 应用
【10月更文挑战第2天】使用 Node.js 和 Express 构建 Web 应用
|
29天前
|
XML JavaScript 前端开发
JavaScript控制台:提升Web开发技能的秘密武器
作为Web开发人员,掌握JavaScript控制台中的各种方法至关重要。本文介绍了22种实用的console方法,从基本的log()到高级的profile()和memory,每种方法都配有示例和说明,帮助开发者更高效地调试和记录信息。通过了解这些工具,您可以优化代码、提高开发速度,减少错误,使编码过程更加顺畅愉快。
36 1
JavaScript控制台:提升Web开发技能的秘密武器
|
19天前
|
JavaScript 前端开发 持续交付
构建现代Web应用:Vue.js与Node.js的完美结合
【10月更文挑战第22天】随着互联网技术的快速发展,Web应用已经成为了人们日常生活和工作的重要组成部分。前端技术和后端技术的不断创新,为Web应用的构建提供了更多可能。在本篇文章中,我们将探讨Vue.js和Node.js这两大热门技术如何完美结合,构建现代Web应用。
19 4
|
24天前
|
存储 JSON JavaScript
JavaScript JSON
【10月更文挑战第7天】JSON 是 JavaScript 中非常重要的一个数据格式,它为数据的表示和传输提供了一种简单而有效的方式。掌握 JSON 的使用方法和特点,对于开发高质量的 JavaScript 应用具有重要意义。
|
26天前
|
监控 负载均衡 API
Web、RESTful API 在微服务中有哪些作用?
在微服务架构中,Web 和 RESTful API 扮演着至关重要的角色。它们帮助实现服务之间的通信、数据交换和系统的可扩展性。
46 2
|
1月前
|
设计模式 JavaScript 前端开发
浅谈JavaScript 框架在现代 Web 开发中的作用
浅谈JavaScript 框架在现代 Web 开发中的作用
38 12
|
29天前
|
存储 JavaScript 前端开发
深入探索 Vue.js:构建现代 Web 应用的利器
【10月更文挑战第11天】深入探索 Vue.js:构建现代 Web 应用的利器
18 1
|
1月前
|
JavaScript 前端开发 网络架构
如何使用Vue.js构建响应式Web应用
【10月更文挑战第9天】如何使用Vue.js构建响应式Web应用
|
1月前
|
JavaScript 前端开发
如何使用Vue.js构建响应式Web应用程序
【10月更文挑战第9天】如何使用Vue.js构建响应式Web应用程序
|
2月前
|
存储 JSON JavaScript
js中JSON的使用
介绍JSON的基本概念和在JavaScript中的使用方式,包括JSON格式的语法规则、使用`JSON.stringify()`和`JSON.parse()`方法进行对象与字符串的转换,以及处理JSON数组数据。
js中JSON的使用