本节课从三个方便讲解
什么是restful ?
API: Application Programming Interface的缩写,中文意思就是应用程序接口.
●XML: .
可扩展标记语言,是一种程序与程序之间传输数据的标记语言
●JSON:
英文javascript object notation的缩写,它是一种新型的轻量级数据交换格式.
随着时间的发展,xml被json逐步替代,xml传输庞大,接收端解析麻烦,xml是带标签的的一种文本形式,
如今微博和微信的的技术发展,用户对web应用的数据交互越来越多,数据交互越来越频繁,如果还是xml的形式发送,这个就非常复杂和费时间
json是key value键值对易于读写解析
优点:
一,数据格式简单,易于阅读,易于读写
二,格式是压缩的,占带宽较小
三,易于解析
四,支持很多种语言,包括C 、C++、JAVA、Perl、PHP、Python........等等当前流行语言
五,json数据直接能为服务端代码(程序)使用,能简化服务端以及客户端的代码开发量
正式有这些优点,所以json这种数据交互方式就在web开发界慢慢的开始普及了,加上前端技术不断发展,出现了很多js框架,比如AngularJS、ExtJS等等有了这些成熟的JS前端框架,前后端开发就完全分离了,这样json的使用越来越多,大家都希望遵循一种程序设计风格,Restful这种设计风格就孕育而生了
RESTFul具体含义
英文Representational State Transfer缩写
●
中文意思是“表现层状态转化
这句话有两个意思,一个是“表现层” 一个是“状态转化”。
表现层是指的“资源”的表现层,这里“资源是指网络上的信息”,比如说一段文本,一张图片,一部电影什么的...........等等
每个“资源”在网络上都有一个标识,可以理解为ID,每个“资源”都用这个ID去表示它,这个ID我们一般叫做URI,每个“资源”仅代表一个信息,这个信息可以有很多种表现形式,比如说一段文本,我们可以用txt形式去表示它,也可以用html,xml或者json。图片也一样有jpg格式 png格式 甚至有gif格式,资源的形式有很多种,我们就把资源具体呈现出来的表现形式就就表现层。
接下来我们来说说“状态转化”,我们平时访问一个网站,就是客户端和服务端一个互动过程,有了互动,数据状态就开始发生改变,上次我们提到过ElasticSearch默认走http协议的,http是一种无状态的协议,无状态就是服务端不会去记客户端的所有信息和操作,数据状态只保存在服务端,因此客户端想要操作服务器,必须要通过某些手段,通过这些手段才能让服务器状态发生转化,而这些转化需要建立在这些表现层之上的。
手段主要有四种
如果一套软件支持Restful 风格,我们就只需要学习它的API接口就可以很好的操作这套软件了,
一、我们能通过接口可以知道这套软件有什么资源,看出有什么资源,我们就大概了解它有什么组成的
二、通过四种主要手段就能操作这个软件
只有这个API接口设计的好,我们就可以通过这几个方法对这个软件进行增删改查操作
那么ElasticSearch完完全全是基于restful风格的,那么我们学习ElasticSearch从API入口就非常简单
curl命令讲解
API测试工具_微博开放平台 API测试工具
ElasticSearch API文档查看