目前,除了一些特别简单非联网类应用(比如计算器、闹钟等),几乎所有的应用均是联网应用(比如新闻客户端,微信等等),这些 app 客户端基本都只是负责用户的交互与数据收集与展示,真正的数据和服务均存储在云端。

那移动端究竟如何和后台来交换数据并展示呢?我们打个比喻,其实整个过程跟去烧烤店儿撸串一样一样的。

拿任意一个新闻客户端举例,当用户刷新的那一刻(你萌生了吃烧烤的想法),客户端开始组织数据请求(你开始穿衣洗脸打扮,并思考该去哪一家吃呢),当用户界面开始展示 loading 的时候(这个时候你正走在 “马大姐烧烤店” 的路上),经过几百毫秒的时间,这个时候请求数据已经到了服务器(你已经坐在了马大姐烧烤店的桌子上),服务器开始查看客户端想要请求哪方面的数据,是请求财经频道的,还是请求汽车频道的数据(服务员递来了菜单,问你想吃啥),服务器看懂了客户端的想法开始准备数据(你点了 20 个肉串,10 个大腰子),服务器看到你请求的是汽车频道和财经频道的数据(光着膀子的烤串师傅开始烤这 20 个串和 10 个大腰子),并给回到服务员,服务员一路小跑,将你要的串和腰子递到你的面前,这个时候相当于数据已经传回到了客户端,客户端 loading 消失,你看到了最新的两个频道的数据。

那客户端和服务器之间传输数据的格式是怎么样的呢?

现在流行的做法通常有两种,一种是类似于 PB(Protocol Buffer,Google 定义的一个数据传输协议,以简洁,省流,易用出名)的二进制数据(二进制数据的意思就是你打开这个文件你只能看到 0 和 1 组成的数字串,是没办法和你生活中任何认识的字母联系在一起的)传输,这种格式的好处是包小,重复的字段会被节省。另一种是 JSON(JavaScriptObject Notation),这也是一种轻量级的数据传输格式,就是用一堆中括号把数据组织起来,不像二进制,这种格式是人可读的,并且比较轻巧,所以也有大量的应用场景。下面这段数据就是 JSON 格式,简单解读一下,就是 people 对应了三个人,三个人分别是中括号间的三个花括号中的人。

总结起来,十分简单,移动端提出需求,服务器按要求组织好数据发给你,针对不同的格式,移动端自己解析,展示,完活儿。其实,不止移动端,前端网页和后台,后台和后台之间也是这个道理。至于在传输的过程中都经历了什么,我们找机会再细聊。

本文转自d1net(转载)

聊聊前端和后台的数据交互与协议相关推荐

  1. python的前端和后端_前端与后端的数据交互(jquery ajax+python flask)

    前端与后端的数据交互,最常用的就是GET.POST,比较常用的用法是:提交表单数据到后端,后端返回json 前端的数据发送与接收 1)提交表单数据 2)提交JSON数据 后端的数据接收与响应 1)接收 ...

  2. python后端数据发送到前端_前端与后端的数据交互(jquery ajax+python flask)

    前端与后端的数据交互,最常用的就是GET.POST,比较常用的用法是:提交表单数据到后端,后端返回json 前端的数据发送与接收 1)提交表单数据 2)提交JSON数据 后端的数据接收与响应 1)接收 ...

  3. python后端与前端数据交互_前端与后端的数据交互(jquery ajax+python flask)

    前端与后端的数据交互,最常用的就是GET.POST,比较常用的用法是:提交表单数据到后端,后端返回json 前端的数据发送与接收 1)提交表单数据 2)提交JSON数据 后端的数据接收与响应 1)接收 ...

  4. app前后台交互php_PHP丨前端网页是怎么跟后台进行数据交互的(实战)

    本期需要用到的前面几期所讲过的内容: 这里是 PHP 网站开发的第三个阶段,也就是前端 HTML 及 CSS 所制作的网页是如何跟 PHP 后台代码进行交互的. 向后台提交数据 前端网页代码: 留言本 ...

  5. angular.js前端和后台的数据交换,后台取不到值对应方案

    2019独角兽企业重金招聘Python工程师标准>>> 环境:angular.js+sastruts+apache-tomcat 最近在学习前端的一个设计工具angular.js,数 ...

  6. 前台和后台的数据交互

    最近刚刚接手B/S的项目,涉及到了服务器从数据库中查询数据,然后根据数据拼出前台的HTML语句.下面是自己的一段路程. 从最开始自己的一个技术难点,后台拼接完了HTML语句,怎么送到前台呢?下面是关于 ...

  7. vue前端与Django后端数据交互

    现在接触的项目是vue作为前端,Django作为后端的.二者之间的数据交互是二者连接起来的关键,这里以get为例,vue将后端拿到的数据进行展示.万事开头难,加油~ 后端 数据库 这是数据库中的数据, ...

  8. 美团技术年货:1300+页电子书,覆盖前端、后台、数据、算法、顶会论文……...

    新年将至,年味渐浓.大家是不是也和我们一样,在坚守岗位的同时,心里也开始期待春节的到来了呢? 老规矩,一年一度的美团技术年货如期而至啦. 在2021年春节到来之际,我们精选过去一年公众号60多篇技术文 ...

  9. vue2 + vuex 高度还原 饿了么 App,与官方后台真实数据交互,获取商品信息,实现登陆、购物车、下单等功能...

    前言 vue2的发布后自己也研究了一段时间,奈何公司的技术栈是以react为主,没有机会好好利用vue2去做一个完整的项目.虽然写了几个demo,但和写一个完整的项目还是有很大差别的.于是自己想着用空 ...

最新文章

  1. python从txt拿取数据_python从txt文件读取数据
  2. Java读取文件流用什么对象_使用Java IO流实现对文本文件的读写过程中,通常需要处理下列( )异常。_学小易找答案...
  3. 匿名函数:lambda函数简述
  4. Spring boot项目整合Hadoop的HDFS
  5. 【2019牛客暑期多校训练营(第二场)- E】MAZE(线段树优化dp,dp转矩阵乘法,线段树维护矩阵乘法)
  6. ret2dlresolve归纳
  7. bind配置文件解析
  8. python专业方向 | 文本相似度计算
  9. Go语言基础之结构体
  10. Ajax 自动投注,ajax 服务器文本框自动填值
  11. Centos7下zabbix部署(四)定义报警媒介-邮件
  12. java B2B2C 源码多租户电子商城系统-Spring Cloud整合Netflix Archaius介绍
  13. Python read()/pack()/try
  14. vm 虚拟机 删除 权限_虚拟机win7一键傻瓜式安装
  15. python 三元运算、列表推倒式、字典推倒式、生成器生成式
  16. 计算机指针知识,指针_计算机基础知识142页.ppt
  17. LINUX下载编译signalwire-c
  18. potplayer如何设置以一帧一帧的逐帧播放播放?
  19. 基于C#实现卫星坐标计算与单点定位
  20. MATLAB - 旋度可视化

热门文章

  1. 2023上海大学计算机考研信息汇总
  2. 关于绘制星级评价方法
  3. Fortran 文件操作
  4. 汽车蓄电池充电管理系统设计
  5. html 的smap标签,Struts 常用标签
  6. 【esp8266】①烧录指南
  7. Android studio 安卓开发常见问题(个人笔记系列)
  8. 神经网络量化入门--Folding BN ReLU
  9. Linux下磁盘加密——luks
  10. 宝安无线快充android,华为Mate30 Pro有线无线快充实测