你有没有经历过这样的场景?点开微信想看朋友圈,结果刷出来一个转圈圈的小图标;打开淘宝搜索商品,页面卡在”正在加载中”的提示语;甚至在玩王者荣耀时,突然跳出”正在连接服务器”的红色警告。这些每天都在发生的现象,背后都藏着今天要讲的两位主角——服务端和客户端。
先来认识两个主角
客户端就是你每天握在手里的手机、摆在桌上的电脑,或者藏在书包里的平板。它就像个随身小秘书,能直接和你对话:”主人要看视频吗?要玩游戏吗?”你点点屏幕,它立刻给出反应。但这个小秘书有个致命弱点——肚子里装不下太多东西。比如微信客户端只能存最近几天的聊天记录,想看三个月前的对话?不好意思,得去云端翻箱倒柜。
这时候就该服务端登场了。它像驻扎在互联网深处的超级仓库管理员,24小时不眠不休地守着一排排冒着蓝光的服务器。当你点击”加载更多消息”,客户端就会派信使(网络请求)去服务端敲门:”嘿!把2020年3月到5月的聊天记录打包发来!”服务端立刻在堆积如山的数据库里翻找,找到后通过网线把数据快递回来。
日常生活中的分工协作
举个现实中的例子:你在美团APP下单外卖。客户端负责把漂亮的菜单页面展示给你,记录你选择的宫保鸡丁套餐,计算满减优惠后的价格。但真要完成订餐,必须把订单信息传给服务端。服务端要做的事情包括: 1. 检查餐厅是否营业 2. 确认库存是否充足 3. 安排骑手接单路线 4. 更新你的账户余额 5. 生成订单追踪地图
这时候你可能要问了:为什么不把所有事情都交给手机处理?想象一下如果每个APP都要在手机里安装整个淘宝的商品数据库、所有微信用户的聊天记录,别说256G的手机,就是512G也撑不过三天。更重要的是像账户余额、游戏排行榜这种需要即时同步的数据,必须有个公正的”裁判”统一管理。
通信背后的秘密协议
当客户端向服务端发送请求时,其实在进行一场加密对话。比如你登录账号时输入的密码,客户端会先把它打乱成乱码(加密),再通过HTTPS安全通道传送。服务端收到后也不会直接存储密码原文,而是用更复杂的算法再次加密,确保就算数据库被盗,黑客也得不到真实密码。
这种你来我往的通信每秒钟要发生成千上万次。刷短视频时,客户端其实在不停地说:”再给我下10个视频预备着”,服务端就源源不断地输送内容。当你点赞收藏时,客户端又悄悄告诉服务端:”这个用户喜欢萌宠视频,下次多推荐类似的”。
异常情况怎么办
最典型的例子就是玩网游时突然断网。这时候客户端会急得跳脚:”服务端大哥你去哪了?”但贴心的客户端不会让游戏直接崩溃,而是先进入”单机模式”——你还能控制角色走来走去,等网络恢复后,客户端会赶紧把这段时间的操作记录打包发送,服务端再根据这些数据重新同步状态。
现在明白为什么有些APP必须要联网才能用了吧?像银行APP需要实时连接服务端核对账户信息,在线文档需要持续与服务端同步修改记录。而那些能离线使用的APP,比如计算器、本地游戏,是因为它们把核心功能都打包在客户端里了。
小编盯着正在加载的网页进度条,突然想起昨天那个死活加载不出来的视频——看来是服务端那边的快递员迷路了啊!
免责声明:网所有文字、图片、视频、音频等资料均来自互联网,不代表本站赞同其观点,内容仅提供用户参考,若因此产生任何纠纷,本站概不负责,如有侵权联系本站删除!邮箱:207985384@qq.com https://www.ainiseo.com/hosting/35207.html