论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
restify是一个精简的、与Express库类似的,用于构建RESTful API的Node.js库。

安装:
$ npm install restify
2)node-restful
node-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开发人员的必备技能之中的一个。重复阅读,揣摩其内涵,是我对此书读者的一点小小建议。

论Node在构建超媒体API中的作用的更多相关文章

  1. 基于node.js构建微服务中的mock服务

    缘起 由于现在微服务越来越火了,越来越多的微服务融入到了日常开发当中.在开发微服务的时候,经常会遇到一个问题由于依赖于其他服务,导致你的进度受到阻碍.使你不得不先mock出你期望调用依赖服务的输出,来 ...

  2. Spring MVC中使用 Swagger2 构建Restful API

    1.Spring MVC配置文件中的配置 [java] view plain copy <!-- 设置使用注解的类所在的jar包,只加载controller类 --> <contex ...

  3. 在 .NET Core 中构建 REST API

    翻译自 Camilo Reyes 2020年8月26日的文章 <Build a REST API in .NET Core> [1] REST API 可以使用简单的动词(如 POST.P ...

  4. 在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务

    在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务 https://procodeguide.com/programming/polly-in-aspnet-core ...

  5. 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【五】——在Web Api中实现Http方法(Put,Post,Delete)

    系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在Web Api中,我们对资源的CRUD操作都是通过相应的Http方法来实现——Post(新 ...

  6. ASP.NET MVC和Web API中的Angular2 - 第1部分

    下载源码 - 903.5 KB 内容 第1部分:Visual Studio 2017中的Angular2设置,基本CRUD应用程序,第三方模态弹出控件 第2部分:使用Angular2管道进行过滤/搜索 ...

  7. nodejs api 中文文档

    文档首页 英文版文档 本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可. Node.js v0.10.18 手册 & 文档 索引 | 在单一页面中浏览 | JSON格 ...

  8. 使用ASP.NET Core 3.x 构建 RESTful API - 2. 什么是RESTful API

    1. 使用ASP.NET Core 3.x 构建 RESTful API - 1.准备工作 什么是REST REST一词最早是在2000年,由Roy Fielding在他的博士论文<Archit ...

  9. Node.js实现RESTful api,express or koa?

    文章导读: 一.what's RESTful API 二.Express RESTful API 三.KOA RESTful API 四.express还是koa? 五.参考资料 一.what's R ...

随机推荐

  1. HNU 11979 Roll call 二分图匹配

    题意: 众所周知,老师经常在班级上点名.点名是从名单上叫一个人的名字或者id来判断名单上这个人是否在场.学生们总是有各种各样的理由不来,所以他们需要其他人帮他们答到.但是打到工作不是这么简单,出于各种 ...

  2. cacti1.1安装报错

    安装过程中出现以下报错: ERROR: Your MySQL TimeZone database is not populated. Please populate this database bef ...

  3. COGS——T 8. 备用交换机

    http://www.cogs.pro/cogs/problem/problem.php?pid=8 ★★   输入文件:gd.in   输出文件:gd.out   简单对比时间限制:1 s   内存 ...

  4. ArcGIS api for javascript——鼠标悬停时显示信息窗口

    描述 本例展示当用户在要素上悬停鼠标时如何显示InfoWindow.本例中,要素是查询USA州图层的QueryTask的查询结果.工作流程如下: 1.用户单击一个要素 2.要素是“加亮的”图形. 3. ...

  5. IIS集成和经典配置

    检測到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式).  我们将ASP.NET程序从IIS6移植到IIS7,可能执行提示下面错误: HTTP 错误 500. ...

  6. DDR3内存技术原理

    随着AMD AM2平台CPU的上市,目前两大处理器巨头均提供了对DDR2内存的支持.不过,DDR2远不是内存技术发展的终点,CPU和内存厂商已经在着手进行DDR3内存的相应准备.DDR2内存的好日子还 ...

  7. WebServic调用天气预报服务

    在项目开发中,我们除了发布WebService提供客户调用外,也经常需要调用一些客户或者第三方的WebService服务,这里就通过一个Demo来演示调用一个第三方的天气预报服务. 1.天气预报服务接 ...

  8. NARF(Normal Aligned Radial Feature)关键点

    NARF(Normal Aligned Radial Feature)关键点是为了从深度图像中识别物体而提出的,对NARF关键点的提取过程有以下要求: a) 提取的过程考虑边缘以及物体表面变化信息在内 ...

  9. WP8 学习笔记(001_环境配置)

    Step 1  WP8 的开发要求64位操作系统,Windows 8及以上版本,需要激活版,建议网上买一个注册码.详见安装双系统. Step 2 安装好系统并已经激活之后,需要安装Windows Ph ...

  10. 使用virtualenv搭建python虚拟开发环境

    在使用python做开发时,如果多人需要在同一台机器上工作,或者机器环境经常变化时, 添加或删除一些python包很可能会影响到你自己的开发环境. 因此,通过virtualenv工具可以创建一个完全属 ...