互联网上主流的应用,包括浏览网页,在线视频,在线音频,社交,游戏,看似毫无关联的若干种类型,其实本质上都是下载。
下载的意思再通俗不过,你可能在电脑上已经下载过无数的软件,AV,文档。一个软件、一个视频、一个文档、一个网页,在互联网上统统称为资源,他们静静的躺在服务器(服务器的意思简单理解就跟你桌面上的电脑一样,只不过它的带宽更足,CPU更多,内存更大)上随时等候被临幸。更贴近生活化理解,下载就是获取的意思,你去粮店买一袋米,去超市买根火腿肠,滴滴打个车,其实都是获取实物或者服务,只不过生活中的下载绝大多数都是付费的,而在互联网上绝大多数服务是免费的。
重点来了,在你的印象中,下载基本就是下载一个ppt,doc或者一个应用程序,为什么说一切皆下载呢?
秉承了一名程序员优秀的抽象思维,才敢吹这句牛逼。简单介绍下流的概念,在刚才所叙述的所有产品类型里面,当你开始请求网络数据,就相当于将一根水管插到了一个水桶里面,然后水开始往出流(应用程序所需要用的数据),流出来的水,你可以选择做饭,选择洗手,选择喝掉(对应于视频,音频,还是网页)。有了这个例子,简单脑补一下,你应该可以理解流的概念。在C++,Java等等大量的编程语言里面,流叫做Stream,就是用来从另一个地方不间断的获取数据。
那我们举几个栗子,来描述下不同类型的产品抽象出来本质上都是下载。
当我们打开淘宝网站,这个请求链接到了网站服务器,这个连通的流就建立起来了,网页的数据通过这个建立起来的管道不断的流向用户的浏览器,浏览器看到这些数据,解析,排版,绘制,整个渲染过程,你就看到了网页的呈现。
当我们打开1024这个网站,打开了一个视频,同上例,这根管道建立起来之后,视频的数据不断的流量播放器,播放器解码视频数据,将数据播放出来。
当我们下载一个微信App,同上例,管道建立之后,微信app的数据不断传输过来,应用程序将其保存在硬盘上。
你会发现,所有的应用类型都离不开这个管道来获取服务器上的数据,也就是全部需要通过下载数据的方式来完成,只不过数据到达之后,各种不同的产品使用这些数据的方式不一样,或播放,或展示,或存储。
希望你能清楚的意识到,视频文件,文档文件,网页文件对于服务器来说,都一样的,都是资源,任何一个应用都是来获取不同类型的资源来提供服务。所以,互联网的任何一个服务本质上都是下载。
(如需转载,请联系作者)