目录:
一. RestfulAPI与HTTP简介
1、什么是RestfulAPI
- REST直接翻译:表现层状态转移,实质就是一种面向资源编程的方法
- REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口)
- RestfulAPI中认为网络上所有的东西都是一种资源,对这些资源操作时无非就是增删改查
- 网络上的资源一般都用一段url代替,比如:http://www.chnsys.com/asset 代替资产资源
- 根据发送请求的method方法判断如何操作这些资源
- GET(SELECT): 从服务器取出资源(一项或多项)。
- POST(CREATE): 在服务器新建一个资源。
- PUT(UPDATE): 在服务器更新资源(客户端提供改变后的完整资源)。
- DELETE(DELETE): 从服务器删除资源。
- PATCH(UPDATE): 在服务器更新资源(客户端提供改变的属性)。
2、HTTP的第一行包含三个信息:谓词、URL、HTTP协议版本。三个数据使用空格隔开
- POST http://comet.chouti.com/comet/connect HTTP/1.1
1、谓词(POST)
- WEB API就是使用谓词作为默认的路由方式,最常用的谓词有:POST\DELETE\PUT\GET,这四个谓词对应了“增、删、改、查”四个动作
- 其中,GET,DELETE不包含BODY,PUT,POST可以包含BODY
2、URl
- 网络上的资源一般都用一段url代替,比如:http://www.chnsys.com/asset 代替资产资源
3、HTTP协议版本
- HTTP的第一行内容就是这些: POST http://comet.chouti.com/comet/connect HTTP/1.1
- 接下来会有一个\r\n来进行换行,接下来就是HTTP HEAD部分,HTTP HEAD描述了HTTP请求和响应。
- HTTP HEAD即为HTTP协议中最重要的部分,他包含了编码、BODY长度、内容协商等信息,你也可以包含一些自定义信息
3、RestFul API中常用的HEAD信息
- User-Agent:用户代理,是什么客户端发出的请求,如IE、Chrome、Fiddler等
- HOST:域名
- Authorization:验证信息
- Accept:接受何种序列化方式返回的数据,用MIME表示,用于对响应数据的内容协商,可以包含多个MIME,按优先顺序排列,如application/json,application/xml,text/html
- Content-Type:使用一个MIME表示,表示所发送请求的Body的序列化方式,常见的application/json,
还有WEB交互最常使用的application/x-www-form-urlencoded,都表示了你的body部分的序列化方式,在请求、响应中都会出现 - HTTP HEAD部分是HTTP协议中最核心的部分,可配置向非常多这里就不列举了
- 响应部分也分为头部和Body,响应头部和请求头部最大的不同在于响应首行存在一个HTTP Code HTTP Code作为API的调用状态的展示,也很重要,在REST API中最常用的状态码一般为2XX,4XX,5XX三个段
- 在首部之后有一个空行(\r\n)接下来就是Content,这里有具体的业务数据,根据不同的Content-Type使用不同的序列化方式表示,例如JSON,XML,甚至HTML