目录
一、什么是 RESTFul ?
API :Application Programming Interface 的缩写,应用程序接口
XML:可扩展标记语言,是一种程序与程序之间传输数据的暴击语言
JSON:轻量级数据交换格式
注:XML被废弃,第一点XML文件格式比较庞大比较复杂,传输占用宽带;
第二点服务端和客户端都要花费大量的代码去解析XML,会花费资源和时间
第三点不同浏览器之间解析XML 的方式不一致,需要重复并写很多代码,代码多不容易维护
json的优点,第一点数据格式比较简单,易于阅读,易于读写;
第二点格式是压缩的,占用宽带比较小;
第三点易于解析;
第四点它支持很多种语言,包括C 、C++、Java、PHP、Python、Perl ......(当前流行的语言都支持);
第五点json数据直接能为服务端的代码(程序)使用,能简化服务端一斤客户端的代码开发量。有利于维护
正式因为这些优点,所以json这种数据交互方式就在web开发界慢慢普及开来。
RESTFul 具体含义 ---- 表现层状态转化
拆分理解 : 表现层 ; 状态转化
①、表现层(资源的表现):资源指的是网络上的信息---一段文本、以一张图片、一部电影。。。每个资源都有自己的一个标识,俗称是Id , 也是我们所说的URL。当我们给这个资源一个地址后,那么这个资源就会被访问到了。每一个资源都有不同的表现形式。例如图片,jpg、png、gif等格式。所以资源具体呈现出来的形式就叫做表现层。
②、状态转化:访问一个网站其实就是客户端跟服务端之间的一种互动过程,有了互动,数据才会有变化。Elasticsearch默认的是http协议,而http协议是一种无状态的协议。什么是无状态?就是指服务端不会去记客户端的所有信息和操作,数据的状态只能保存在服务端。因此,如果客户端想要操作这个服务器,必须要通过某些手段,通过这些手段,才能让服务器发生状态转化。而这种转化需要建立在表现层之上的。这就和“表现层”联系起来了。
这就是“表现层的状态转化";
手段:GET 用来获取资源
POST 用来新建资源(也可以用来更新资源)
PUT 用来更新资源
DELETE 用来删除资源
二、CURL 命令的讲解
就是以命令的方式来执行http协议的请求的工具
可以通过CURL操作http的GET/POST/PUT/DELETE方法,有了这个命令操作API是十分简单的。
例如:
访问一个网页: curl www.baidu.com
显示http response 的头信息 : curl -i www.baidu.com
curl执行GET/POST/PUT/DELETE操作:curl -x GET/POST/PUT/DELETE www.baidu.com
三、Elasticsearch API 文档查看