论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. Ubuntu下Matlab代码中中文注释乱码解决方案

    环境:Ubuntu18.04,Matlab R2017b. 把matlab文件从windows拷贝到Ubuntu中,打开发现原先的中文注释全部乱码.真正原因是因为windows中.m文件采用的是gbk ...

  2. jquery中$.get()提交和$.post()提交有区别

    jquery中$.get()提交和$.post()提交有区别吗? 相同点:都是异步请求的方式来获取服务端的数据: 异同点: 1.请求方式不同:$.get() 方法使用GET方法来进行异步请求的.$.p ...

  3. HTML学习----------DAY2第四节

    HTML 文档是由 HTML 元素定义的. HTML 元素 HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码. 注释:开始标签常被称为开放标签(opening ...

  4. ArcGIS api for javascript——查找任务-没有地图查找要素

    描述 本例展示了如何使用查找任务搜索数据里的记录,然后在HTML表格中显示结果. 尽管FindTask不需要显示一个地图,但是构造函数需要一个ArcGIS Server地图服务的URL. 本例使用ES ...

  5. [Python] Boolean Or "Mask" Index Arrays filter with numpy

    NumPy Reference: Indexing Integer array indexing Boolean array indexing Note: The expression a < ...

  6. Create the Data Access Layer

    https://docs.microsoft.com/en-us/aspnet/web-forms/overview/getting-started/getting-started-with-aspn ...

  7. legend---五、如何优雅的实现多继承

    legend---五.如何优雅的实现多继承 一.总结 一句话总结:多继承可以通过把别人对象作为属性来调用属性的方法执行, 继承的本质也是为了调用方法和属性,而上述的方式可以满足 1.php中前端可以共 ...

  8. 22.IntelliJ IDEA 切换 project

    转自:https://blog.csdn.net/qwdafedv/article/details/73838628?utm_source=blogxgwz0 1.file->open 2.选择 ...

  9. POJ 1293 网络流 第一题

    完全的模板,做多了就好了吧 反向流量真的很有意思,有这样一种说法比较容易理解.”正向是+,反向就是-,其实是等价的.因为每次找到的增广路不一定是最优解里面的,所以再进行后面的操作的时候要重新选择,而反 ...

  10. Codeforces 344C Rational Resistance

    Description Mad scientist Mike is building a time machine in his spare time. To finish the work, he ...