论Node在构建超媒体API中的作用
2016-01-22 20:59
267 查看
论Node在构建超媒体API中的作用作者:chszs,转载需注明。
博客主页:http://blog.csdn.net/chszs超媒体即Hypermedia,是一种採用非线性网状结构对块状多媒体信息(包含文本、图像、视频等)进行组织和管理的技术。超媒体的概念类似于早期的超文本。超文本的本质是在文本内容加上链接。这样就构成了超文本。超媒体也类似。
不管是超媒体还是超文本。使用的传输协议都是HTTP,这意味着超媒体能够被全部的浏览器所接受。
而描写叙述超媒体的类型我们使用MIME。
MIME即Multipurpose Internet Mail Extensions,多用途互联网邮件扩展类型,MIME是一个互联网标准,最早是应用于电子邮件系统的。后来其定义逐步应用到互联网领域。
用MIME指定媒体的类型。那么client浏览器就能清楚地知道,该怎样处理这样的类型的媒体。
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操纵能力,在client或server端都能够使用。Node.js最大的优势是它有庞大的第三方库,在RESTful Web Services方面,相同有多个库能够简化我们的开发工作。比方:
1)node-restify主页:https://github.com/mcavage/node-restifyrestify是一个精简的、与Express库类似的,用于构建RESTful API的Node.js库。
安装:$ npm install restify
2)node-restful主页:https://github.com/baugarten/node-restfulnode-restful是Express库的封装,非常适合创建RESTful API。安装:npm install node-restful
还有非常多第三方库就不一一列举了。
除此以外。我们还能够直接使用Node.js的核心库构建RESTful API,或者是使用Express库构建RESTful API。方法有非常多种,都能达到目的。
超媒体的书非常少。因此专门论述怎样构建超媒体API的书就更少了,超媒体也是网络资源,相同的能够用URI来定义,因此Node.js来实现超媒体的RESTful API是非常easy的。
不得不说。《使用HTML5和Node构建超媒体API》这本书翻译的太生硬了,阅读时感觉不畅快。可是,这本书本身还是非常有价值的。由于实现超媒体的RESTful API这样的需求非经常见,能够说是Web开发人员的必备技能之中的一个。重复阅读,揣摩其内涵,是我对此书读者的一点小小建议。
博客主页:http://blog.csdn.net/chszs超媒体即Hypermedia,是一种採用非线性网状结构对块状多媒体信息(包含文本、图像、视频等)进行组织和管理的技术。超媒体的概念类似于早期的超文本。超文本的本质是在文本内容加上链接。这样就构成了超文本。超媒体也类似。
不管是超媒体还是超文本。使用的传输协议都是HTTP,这意味着超媒体能够被全部的浏览器所接受。
而描写叙述超媒体的类型我们使用MIME。
MIME即Multipurpose Internet Mail Extensions,多用途互联网邮件扩展类型,MIME是一个互联网标准,最早是应用于电子邮件系统的。后来其定义逐步应用到互联网领域。
用MIME指定媒体的类型。那么client浏览器就能清楚地知道,该怎样处理这样的类型的媒体。
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操纵能力,在client或server端都能够使用。Node.js最大的优势是它有庞大的第三方库,在RESTful Web Services方面,相同有多个库能够简化我们的开发工作。比方:
1)node-restify主页:https://github.com/mcavage/node-restifyrestify是一个精简的、与Express库类似的,用于构建RESTful API的Node.js库。
安装:$ npm install restify
2)node-restful主页:https://github.com/baugarten/node-restfulnode-restful是Express库的封装,非常适合创建RESTful API。安装:npm install node-restful
还有非常多第三方库就不一一列举了。
除此以外。我们还能够直接使用Node.js的核心库构建RESTful API,或者是使用Express库构建RESTful API。方法有非常多种,都能达到目的。
超媒体的书非常少。因此专门论述怎样构建超媒体API的书就更少了,超媒体也是网络资源,相同的能够用URI来定义,因此Node.js来实现超媒体的RESTful API是非常easy的。
不得不说。《使用HTML5和Node构建超媒体API》这本书翻译的太生硬了,阅读时感觉不畅快。可是,这本书本身还是非常有价值的。由于实现超媒体的RESTful API这样的需求非经常见,能够说是Web开发人员的必备技能之中的一个。重复阅读,揣摩其内涵,是我对此书读者的一点小小建议。
相关文章推荐
- [LeetCode24]Swap Nodes in Pairs
- 一张图告诉你,只会NodeJS还远远不够!
- NodeJS - NPM - Edge - Connect NodeJs and .Net
- 快慢指针-----Remove Nth Node From End of List
- Node.js中AES加密和其它语言不一致问题解决办法
- node.js乱码问题【WebStorm环境】
- NodeJs session中间件 及应用(简单的登录与登出)
- storm集成kafka报错【KeeperErrorCode = NoNode for /kafka/brokers/topics/test/partitions】
- 用node-inspector调试Node.js(转自NOANYLOVE'S BLOG)
- [译]Node.js 框架比较: Express vs. Koa vs. Hapi
- Umbraco(2)- Creating Your First Template and Content Node
- Umbraco(2)- Creating Your First Template and Content Node
- JavaScript操作DOM元素的childNodes和children区别
- NodeJS 和 ExtJS
- node socket搭建简单聊天室
- Completely Uninstall Node.js from Mac OS X
- Ubuntu 安装 node.js(JavaScript)
- Node爬坑记——伪造cookie
- 《深入浅出Nodejs》—— 读后总结
- View and Data API Tips : Conversion between DbId and node