7.app和app后端的通信

【转载】 做者:曾健生,公众号IDappbackend前端

                 比目科技程序员

 

常常有开发者问:app和后端通信是用http协议仍是私有的协议?是用长链接仍是短链接?经过阅读本文,帮你解除上面的疑问。web

 

1)是用http协议仍是私有的协议?编程

 

在间谍电视剧中,常常能看到间谍们的书信都是用暗号的,就算书信被敌人截取了不怕,须要耗费必定的时间,敌人才能解开书信中的秘密。json

 

在电影<阿凡达>, 为提高故事真实性,詹姆斯卡梅隆甚至找到语言学家,专为纳美人创造了一种本身的语言。咱们看这部电影的时候,根本听不懂潘多拉星球上的纳美外星人到底说什么?纳美语共有大约1000个单词,全球可以掌握其语法的人只有创造这门语言的PaulFrommer教授一人,并且就算他本人也仍然在学习如何更流畅的说纳美语。后端

 

若是间谍们使用的都是你们都懂的中文,敌人截取到书信,就能马上知道里面的内容。api

 

若是潘多拉星球上的纳美外星人说的是中文,那么不少人一听就知道他们是说啥。服务器

 

一样的,app和后端的通信,能够分为用通用的语言通信,仍是用暗语通信两种方式。websocket

 

通用的语言有不少种,例如英语和中文,在网络的通信中,通用的协议有不少,其中http是被最普遍使用的。若是是私有的协议,那就只能本身设计了。网络

 

http是最方便的,若是是私有协议,包含协议的封装和拆解,工做量大,前端程序员和后端程序员都要增长不少额外的工做量。并且私有协议对程序员的要求高,不适合从web网站转过来的开发者。除非是手游,否则用http就行了。

 

2app和服务器通信使用长链接仍是短链接?

 

假设如今经过手机拨打另一我的的手机,手机通话费用很是便宜(甚至能够忽略),可是有两个注意的地方:

1。一台手机同一时间只能接听一个电话。

2。一台手机接听电话前很是麻烦,要拨号啦,要等接听,这须要一段时间。

 

app和服务器通信使用长链接仍是短链接这个问题,能够等同于上面电话模型,是一直保持着通话,仍是有须要时才拨号通话这个问题?

 

app和服务器通信使用长链接,就至关于一直保持着通话,服务器能保持的通信数量有限,若是通信满了,那其余app就不能和服务端通信了。这种通信方式,多数是使用socketwebsocket链接长时间链接,对程序员的要求比较高,开发比较困难,除了手游和聊天推送服务外,不建议使用。

 

app和服务器通信使用短链接,就至关于须要时才拨号通话。这种通信方式,配合http协议,是如今主流的通信方式,开发效率高,有大量的第三方资源,使用很是普遍,推荐使用这种方式。

3app和后端是怎么通信的?

 

相信你们都用过银行的柜员机(ATM)的查询余额,转账,取款等操做。

 

当在柜员机取款的时候,咱们输入要取款的金额,隔一会钱就出来了,若是由于有什么问题不能取款(例如超过取款金额的限制),屏幕上也会显示出错误的信息。

 

在整个过程当中,咱们只要输入金额,得到结果(取款成功或不成功),就好了,至于柜员机内部是怎么处理,咱们不须要理会。

 

柜员机这种把内部的处理遮蔽的作法极大方便了咱们的使用。

 

一样的,在后端,也只提供了一系列的功能给app使用,这系列的功能以api的形式提供。

 

api的定义:APIApplicationProgramming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工做机制的细节。

 

app调用api的时候,只须要明确下面3点:

1。这个api是干啥的(柜员机例子中,是取款功能,仍是查询余额,仍是转帐)

2。知道要输入什么(柜员机例子中,取款要输入金钱)

3。知道结果是什么(柜员机例子中,取款是成功仍是失败)

 

至于api内部是怎么处理的,app根本无需理会。

 

api,通常是以http的形式调用的,经过http传入参数,返回结果。其中,结果通常是以json格式返回的,由于json格式被众多计算机语言支持,并且省流量。

相关文章
相关标签/搜索