🦄 2024 独立开发者训练营,一起创业!(早鸟优惠在6天后结束)查看介绍 / 立即报名 →

解构应用开发:理解客户端与服务端的沟通方式

了解了项目需求以后,我们要知道应用的构成,还要了解应用的不同部分之间是如何沟通交流的。下面我们就一起解构一下应用。这里说的“应用”指的就是用浏览器访问的网站,安装在手机、手表、平板、电脑或者电视上的 App,你也可以把它想成是一个系统或者软件。

我们可以把一个应用简单的分解成两个部分,前端(front-end)与后端(back-end),一般它们是两个完全独立的应用,前端应用负责提供用户界面交给用户使用,后端应用负责给前端应用提供各种不同的服务,比如存储用户在前端应用里生成的数据,或者提供前端应用要显示的数据等等。作为一名全栈的独立开发者,我们既要开发客户端应用也需要开发服务端应用。

这个 “端” 有 “头” 或者 “边” 的意思,所以前端与后端也可以称为前头与后头,前边与后边,前台与后台。因为前端应用一般都是交给用户使用的,应用的用户就是我们的客户,所以前端也可以称为客户端(client side)。后端应用一般会在服务器上运行,为客户端提供各种服务,所以也可以称为服务端(server side)。

虽然前端应用与客户端应用可以看成是一种东西,不过有时候前端会特指 Web 应用,也就是在浏览器上运行的这种应用。客户端的覆盖面更广泛一些,比如 Web、小程序、手机与电脑上的 App 都可以称为客户端应用。

如果把一个餐厅比成一个应用的话,前台接待与顾客用餐的地方相当于是应用的前端或者叫客户端,后厨准备食物做菜的地方就相当于是应用的后端或者叫服务端。顾客可以在前台点他们想吃的菜,后厨要根据顾客的需求制作出对应的食物,再由服务员将制作好的食物端到前台交给顾客。

我们知道服务端应用的作用就是给客户端应用提供数据与各种服务。比如服务端要存储或者处理用户在客户端上生成的数据,要给客户端的某个界面提供需要的数据等等。客户端与服务端之间是如何沟通的呢?比如客户端如何把用户产生的数据交给服务端,服务端又是如何将数据交给客户端的呢?

客户端与服务端之间可以建立一个长期的连接,这样它们之间就可以实时地进行沟通了。客户端发生的事情,在服务端那里可以实时地收到,然后去做相应的处理,同样服务端这边儿发生的事情,在客户端那里也能实时地收到,同样也可以做相应的处理。比如一个即时通信应用,张三给李四发了一条消息,这条消息会先交到服务端这里来处理,比如把消息存储到数据仓库里,处理之后应用的服务端可以将这条消息实时地交给张三与李四使用的客户端,客户端收到消息以后可以把它显示在张三与李四的聊天界面上。

请求(request)与响应(response)也是客户端与服务端之间经常用的一种沟通交流的方式。客户端在特定的情况下可以向服务端发出某种请求,服务端会做出一个对应的响应。比如用户在访问客户端的一个内容列表页面的时候,这时客户端就可以向服务端发出请求获取到页面需要的列表数据,服务端准备好数据以后给客户端做出一个响应,客户端可以在响应里面得到它需要的列表数据,然后将这些数据组织成用户界面显示出来。

一个用户点按了某个内容界面上的点赞按钮,比如李白赞了孟浩然写的《春晓》。这时客户端应用就可以发出一个请求,要求服务端处理李白的这个点赞行为,服务端收到请求以后可以记录一下哪个用户赞了哪个内容,处理之后再给客户端做出一个响应,通知客户端处理的结果,比如处理成功了或者处理失败了。客户端收到响应以后,可以做先一些判断,如果发现服务端成功处理了李点的点赞,可以更新一下这个被李白赞过的内容的点赞状态还有点赞的数量。如果发现服务端没能成功处理这个点赞行为,客户端可以给李白显示出具体的原因,解释一下为什么没能成功处理李白的这个点赞行为。

客户端用什么方法发送请求,在什么情况下发送什么样的请求,服务端如何处理客户端发过来的各种不同类型的请求,这些事情就是我们开发者自己要决定的。

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点