GraphQL实战:写给全栈工程师们
上QQ阅读APP看书,第一时间看更新

1.2.3 远程资源共享

互联网之所以能成为全人类革命性的里程碑,主要是因为其共享精神。如果把互联网看作一个大型分布式系统的话,世界每一个角落的计算机只要上网,就在和世界各地的服务器进行频繁的数据交换,可以享受世界各地服务器提供的数据服务。有的读者可能会说,把数据都下载到自己的计算机上不就不用上网了吗?但这会带来以下两个问题:

一是本地数据如果不联网就很难更新。如早期的车载GPS是不联网的,每年都要去4S店里更新地图,这并不能保证地图即时更新,经常会遇到地图和实际不符的情况。于是现在很多人使用智能手机上的谷歌地图导航,通过互联网,本地的地图数据可以和谷歌地图服务器上数据实时同步,哪里出现路况问题,都可以即时反映在地图上。

二是本地计算机存不下太多的数据。个人计算机的存储设备存储一本字典、一套地图、几百甚至几千小时的视频都是没有问题的,可面对谷歌搜索这样的服务,就没法在本地实现了。因为个人计算机的硬盘是无论如何也存储不下全世界所有的网页数据的。

要和互联网的服务器沟通,就需要有一套技术来和服务器交换数据,如以前的RESTful API和现在的GraphQL。