APP接口简介
1. APP接口(通信接口)
- 接口地址:例如:http://app.com/api.php
- 接口文件:api.php处理一些业务逻辑(获取数据)
- 接口数据:获取数据,传到客户端进行使用
2. APP接口如何进行通信
客户端向服务器端发送http请求(用户不可视的接口地址),服务器端收到http请求之后根据请求做出相应的处理,处理结束后向客户端返回数据(数据一般为XML和JSON两种格式)。
3. XML数据及JSON数据
- XML数据
用来标记语言数据,定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML语言的节点可以自定义,HTML语言的节点(标签)不可以自定义,例如:<p>、<h>等。
XML语言格式统一,跨平台和语言。
<? xml version = "1.0" encoding = "UTF-8" ?><item><title>singwa</title><test id = "1" /></item>
XML语言必须且只能拥有一个根节点<item>
- JSON数据
一种轻量级的数据交换格式,具有良好的可读性,便于快速编写。采用兼容性很高的,完全独立于语言的文本格式。
- XML与JSON的区别
可读性 XML数据的可读性更强(结构清晰) 生成数据方面(php生成XML及JSON) JSON只使用一个函数,方便 传输速度 JSON数据小,传输速度也快
4. APP接口功能
- 获取数据
从数据库中或缓存中获取数据,然后通过接口数据返回给客户端
- 提交数据
通过接口提交数据给服务器,然后服务器入库处理或做其他处理。提交数据的接口包含两种:版本升级接口和数据接收接口
APP开发接口注意事项
1、效率:接口访问速度
APP有别于WEB服务,对服务器端要求是比较严格的,在移动端有限的带宽条件下,要求接口响应速度要快,所有在开发过程中尽量选择效率高的框架,PHP建议使用YAF框架。
2、数据格式
最好使用JSON格式数据,因为JSON有较好的跨平台性。
3、数据量
按需分配,APP客户端需要什么数据就返回什么数据,过多的数据量影响处理速度,最重要的是影响传输效率。
4、接口、参数命名准确
无论是接口还是参数,命名都应该有意义,让人一目了然。
5、一个页面尽可能就用一个接口
现在很多的APP页面都有广告、焦点图、文章列表等,对于这些不同格式的数据,不可能都分配一个接口,这样加大了APP请求接口数,影响响应速度。建议服务器端尽可能处理好数据后通过一个接口返回给APP客户端。
6、缓存
这点比较重要,不管是文件缓存还是memcache缓存。
7、接口要有可扩展性
8、接口安全
目前一般都是在APP客户端和服务器通过约定的算法,对传递的参数值进行验证匹配。但是如果APP程序被反编译,这些约定的算法就会暴露,特别是在安卓APP中,有了算法,完全就可以通过验证模拟接口请求。
9、接口版本控制
对于接口版本控制,自己目前也没有找到一个好的方法,怎么去应对不断的APP版本升级,新、旧接口的处理。
10、接口数据、状态
接口必须提供明确的数据状态信息,不管是成功的,还是失败的,都必须返回给APP客户端。