app客户端、服务端通信

app客户端、服务端通信
1. apache:web服务器
2. MySQL:数据库

服务器和app之间通过接口来访问,主要有2点作用。
1. app客户端太大,而且不利于复用。
如果没有接口,app客户端是可以直接请求数据的,这个是可以做到,但是相当于接口的全部工作在app端写了,这样会造成app端比较大,手机的存储空间也是有限的。
再比如,访问数据库的代码,Android要写,iOS也要写,太不利于复用。
高质量代码的标准是可维护、可复用、可扩展、灵活性高。所以,如果有了接口,接口就可以对数据进行封装和业务处理,然后给app端。
2. 不利于数据库安全。
接口可以把关安全性。因为客户端在客户手里,可以**,可以反编译,数据库直接暴漏出来,别人可以扫描你的数据库端口,很危险。所以一般数据库,外部是不给访问的,你只能通过接口,而接口,会要求你登录,登录后,根据你的身份。分配身份标记,再决定你能请求多少东西,
每次请求都是由接口判断一次是否合法,就是根据SessionString,也可以是cookie。其实cookie就是SessionString的ID。即使被**,拿到一个,也是一个用户的数据被盗,其他用户不受影响。
=== === === === === ===

api的定义:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
  当app调用api的时候,只需要明确下面3点:
  1.这个api是干啥的(柜员机例子中,是取款功能,还是查询余额,还是转账)
  2.知道要输入什么(柜员机例子中,取款要输入金钱)
  3.知道结果是什么(柜员机例子中,取款是成功还是失败)
  至于api内部是怎么处理的,app根本无需理会。
  api,一般是以http的形式调用的,通过http传入参数,返回结果。其中,结果一般是以json格式返回的,因为json格式被众多计算机语言支持,而且省流量。

=== === === === === ===
app后端的作用:
1. app后端,也称为app后台,称呼不一样,但指的是同一个东西。
场景一:
  用户a平时是很喜欢用qq音乐app听歌,他的qq音乐app保存了他平时最喜欢听的歌曲列表。
  如果歌曲列表只保存在手机上,万一,他的手机被盗了,就算他买了台新的手机回来,那歌曲列表也会丢失的啊?
  为了解决这个问题,其中一个办法就是qq音乐app可以把歌曲列表放在远处的一台机器上,当用户a买了新手机后,把放在远处的机器上歌曲列表重新搬回到qq音乐app就行了。

场景二:
  假设有两个人a和b,当a向b寄一样东西的时候,会叫来快递,把东西寄给b。
  当查看物流时,可以看到类似这样的描述“到达xx中转站”。只有经过中转站,东西才会到达b的手上。
  在app上的情况也差不多。假设app上的a用户需要向b用户发信息,这条信息也需要经过app后端这个中转站,才能到达b用户处。
总结:
  从以上的场景1和场景2,可总结出app后端的两个重要作用:
  1. 远程存储数据
  2. 消息中转

相关文章: