欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

浅析Node在构建超媒体API中的作用_node.js

程序员文章站 2022-05-23 13:52:59
...
无论是超媒体还是超文本,使用的传输协议都是HTTP,这意味着超媒体可以被所有的浏览器所接受。而描述超媒体的类型我们使用MIME。MIME即Multipurpose Internet Mail Extensions,多用途互联网邮件扩展类型,MIME是一个互联网标准,最早是应用于电子邮件系统的,后来其定义逐步应用到互联网领域。用MIME指定媒体的类型,那么客户端浏览器就能清楚地知道,该如何处理这种类型的媒体。

Node.js是基于谷歌V8 JavaScript引擎构建的一种库,主要用于方便、快捷的搭建易伸缩的网络应用。Node.js是事件驱动的,它充分利用JavaScript的闭包特性和事件处理机制,采用了非阻塞I/O模型,非常适合数据密集型的实时应用。Node.js实现了与Apache HTTP Server相似的功能,使之具备了构建基于JavaScript的高并发Web应用的能力。Node.js使得前后端开发可以使用同一种编程语言——JavaScript。

REST Web服务可以说是为HTTP协议量身定做的,在HTTP协议中使用URI来标识唯一的网络资源,用GET、POST、PUT、DELETE等动词来操作资源,REST Web服务显然比SOAP Web服务更加简洁高效,因为它不需要额外的封装协议和远程过程调用。

至于资源的表现形式,可以是HTML5的,也可以是XML数据格式、JSON数据格式,又或者是二进制的Protobuf格式。使用哪一种数据格式,取决于项目的需求。

Node.js提供了HTTP操纵能力,在客户端或服务器端都可以使用。Node.js最大的优势是它有庞大的第三方库,在RESTful Web Services方面,同样有多个库可以简化我们的开发工作。比如:

1)node-restify

主页: https://github.com/mcavage/node-restify

restify是一个精简的、与Express库相似的,用于构建RESTful API的Node.js库。

安装:

$ npm install restify

2)node-restful

主页: https://github.com/baugarten/node-restful

node-restful是Express库的封装,很适合创建RESTful API。

安装:

npm install node-restful

还有很多第三方库就不一一列举了。除此以外,我们还可以直接使用Node.js的核心库构建RESTful API,或者是使用Express库构建RESTful API。方法有很多种,都能达到目的。

超媒体的书很少,因此专门论述如何构建超媒体API的书就更少了,超媒体也是网络资源,同样的可以用URI来定义,因此Node.js来实现超媒体的RESTful API是很容易的。

不得不说,《使用HTML5和Node构建超媒体API》这本书翻译的太生硬了,阅读时感觉不畅快。但是,这本书本身还是很有价值的,因为实现超媒体的RESTful API这种需求很常见,可以说是Web开发者的必备技能之一。反复阅读,揣摩其内涵,是我对此书读者的一点小小建议。

相关标签: Node 超媒体API