网络购物已经成为了一种生活习惯,而每个家庭里面最爱网络购物的应该是你妈妈或者你姐姐吧。当他们通过电脑或者手机访问淘宝的时候,到底中间发生了什么事情呢?今天张叔叔就给大家介绍一下,当妈妈在淘宝购物的时候,究竟发生了什么。
在淘宝买东西通常有两种方式,通过电脑中的浏览器登录淘宝网站购买东西,或者通过手机上面的淘宝APP来购买。首先我们介绍一下通过浏览器访问淘宝网站购买东西的流程。
你妈妈首先通过一些手段从玩游戏的你或者开球赛的爸爸手中夺得电脑的控制权,然后就开开心心的开始了网络购物之旅。
首先,妈妈会打开电脑上的浏览器,浏览器可以看作是打开所有网站的主要工具。然后妈妈闭上眼回忆了一下淘宝的网址,然后运用她熟悉的一指禅打字法在浏览器的地址栏输入了淘宝的域名www.taobao.com,网页很快就打开了。对于人类来说,这个时间是短暂的,但是对于计算机来讲,这个过程不仅漫长而且复杂。
当妈妈输入淘宝的域名并按回车键之后,浏览器首先会把域名www.taobao.com翻译成计算机网络上的通用地址:ip地址。域名是为了方便我们去记忆,但是ip地址是方便计算机去记忆和处理的。那么如何获取到域名的ip地址呢,在网络上有一个专门负责域名解析和翻译的角色,叫做DNS解析器,这个解析器非常厉害,你告诉它域名,他就可以返回你对应的IP地址。那么你家电脑又怎么知道DNS在哪呢?毕竟访问DNS也是需要知道其IP地址。这个就很有意思了,当你家电脑连上网络之后,会向所有周围的小伙伴们吼一嗓子“我连上网了哈,以后大家都是好伙伴”,这个时候有个叫DHCP的家伙会给计算机分配一个该网络内唯一的IP地址,在各种交互过程中,你家的电脑就知道了DNS服务器的地址了。
现在知道了淘宝网的IP地址,浏览器通过IP地址在计算机网络上找到了淘宝的服务器,并且建立了一条连接。这个时候你家的电脑和千里之外的淘宝服务器就产生了亲密的接触,是不是感觉很震撼!
连接建立好之后,浏览器把你妈妈的访问淘宝网的请求通过HTTP协议描述了一下,然后通过刚才建立的连接发送到了淘宝处理器。刚才提到的HTTP协议可以看作是计算机与计算机之间访问网络资源所定义好的一种协议,这样不同的计算机之间就可以彼此理解对方的请求了。淘宝网的服务器收到你妈妈的请求之后,解析一下,发现原来你妈妈是想访问淘宝的首页,于是在服务器上面开始组装淘宝首页所需要的内容,并且通过HTML协议包装一下,最后经由刚才建立的连接返回到你家计算机上面。当你家浏览器接收到返回内容之后,解析返回结果,最终在浏览器上面展现出了淘宝网的首页。这个时候距离你妈妈在浏览器输入网址不到1秒钟。
你妈妈看到网页展示出来,心头那个高兴啊,又快速的在淘宝的搜索栏里面输入了“美丽的裙子”,因为她今天的目的就是给自己买一条裙子。
同样的道理,“美丽的裙子”这五个字通过计算机网络以光的速度传输到了淘宝服务器上面,淘宝服务器接收到信息之后首先对这五个字进行分解,知道了你妈妈要找“美丽 裙子”,服务器是多么的勤奋啊,以迅雷不及掩耳之势在自己的数据库中搜索出来你妈妈想要的裙子,然后把所有数据打包组装一下返回到了你家的浏览器上面。看到裙子展示出来,你妈妈迫不及待的开始浏览挑选。
当你妈妈看到琳琅满目裙子的时候,手中的鼠标不断点击着,当点开一款商品“今夏爆款碎花裙子”的时候,首先通过你家电脑和淘宝服务器之间的连接获取到了碎花裙子的详细信息,然后在浏览器上面展现出来。淘宝服务器除了提供你妈妈想看的碎花裙子的信息,还会把你妈妈的浏览历史记录下来,知道你妈妈点击了碎花裙子,至少认为你妈妈对碎花裙子是感兴趣的。
你妈妈盯着碎花裙子看了10分钟,按照以往的经验推算,你妈妈肯定喜欢上了这条裙子,你爸爸在一旁捂着钱包面露难色。怀着Just do it的想法,你妈妈迅速把碎花裙子放到了购物车中,这个过程中你家电脑把妈妈的淘宝账号 + 碎花裙子信息发送到了淘宝服务器,淘宝服务器会把你妈妈把碎花裙子放到购物车这件事情记录下来。这个时候即使你家断网了,你家断电了,你家电脑突然死机了,只要你妈妈重新打开淘宝,都可以看到自己的碎花裙子在购物车里面放着。为什么呢?因为淘宝服务器已经记录住了,点开购物车的时候,这部分信息重新被获取到,并且在你家电脑上显示出来。
为了防止你妈妈再购买其他东西,你爸爸快步上前,一把按住妈妈手中的鼠标,义正言辞道“孩子他妈,你太辛苦了,后面的支付我来帮你搞定”。爸爸快速的点击了下单购买按钮,同样的道理,这个时候会把淘宝账号+商品信息发送到淘宝服务器,淘宝服务器执行创建订单操作,并把最终商品价格信息等返回到你家电脑上面。后续你爸爸根据提示快速输入了收件人的信息,然后点击支付按钮完成支付。
张叔叔详细介绍一下这个支付过程,假设你爸爸是通过绑定银行卡进行支付的。当你爸爸点击支付按钮并输入银行卡支付相关信息的时候,淘宝服务器接收到你爸爸输入的支付数据,首先会与服务器上面存储的相关信息进行核对,你爸爸输入的信息对不对,碎花裙子现在还有没有(万一刚才不小心被其他阿姨买光了呢)。然后去银行的系统上进行扣款操作,这个地方就是淘宝服务器和银行的服务器之间的交互了,它们之前已经协商好如何扣款等操作。银行的服务器收到扣款消息后,认认真真核对相关信息之后就从你爸爸银行卡里面把钱扣掉了。扣款成功的消息返回到淘宝服务器,淘宝服务器这时候才通知你购买成功!这个时候最高兴的当然是你妈妈了,你爸爸看了一眼自己的银行卡,一声叹息。
浙江义乌的某个商家突然收到一条通知,“您有一个新的订单”,商家点开消息,上面写着“来自北京市的一个爱美的妈妈购买了一套碎花裙子,邮寄地址是***,联系方式***,邮寄地址***,已支付”。这位商家为了好评,以最快的速度装货打包,通过快递给你妈妈邮寄过来。两天后你妈妈就穿上了自己辛辛苦苦挑选的碎花裙子,内心那是美美哒。为了表达自己的喜爱,妈妈登录到淘宝网并且给了碎花裙子一个好评,这个好评也同样被淘宝服务器记录住了,当其他阿姨看到这个碎花裙子,你妈妈的好评就会被她们看到了。
过了不知道多久,你妈妈再次上网购物,当她点开淘宝网站的时候,发现网页上有“猜你喜欢,给您推荐”等栏目,里面也是一些美丽的裙子或者与裙子可以互相搭配的鞋子,这是怎么做到的??这是因为淘宝服务器记录了你妈妈浏览过的商品以及购买的商品,下次你妈妈再访问淘宝网的时候就会推荐给你妈妈这些商品。这就是新闻上经常说的数据挖掘和大数据了。
上篇文章中我们还提到了通过淘宝APP购买商品的过程,其实和通过电脑浏览器登录网站购买也差不多,只是通过APP购买就不需要浏览器了,APP自己就充当了浏览器的作用,可以获取信息并且在APP上显示信息,其他流程都是大同小异的。
当妈妈在购物的时候,都发生了什么?现在是不是比较清楚了。其实总结起来很简单,电脑通过域名找到淘宝服务器并且建立网络连接,妈妈的行为需求(点击,搜索)等通过连接发送到淘宝服务器,服务器分析妈妈想要做什么再把数据返回到电脑上面。电脑和服务器之间就是简简单单一来一往的数据交互,最终购物流程就在这一来一往中完成了。
此处留下一些问题,大家可以思考一下。
网络那么复杂,你家电脑到底怎么找到淘宝服务器的呢?
那么多人都在购物,淘宝的服务器怎么可以同时支持那么多人,怎么做到的?
妈妈买了那么多东西,爸爸卡里到底还有多少钱?
除了第三个问题,其他问题张叔叔会在后续文章中陆续介绍到。跟着叔叔一起学习,相信坚持与专注的力量!