IFPS VS HTTP

Http大家都很熟悉了,但是在这里还是要科普一下,方便小小白学习。

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。一句话,目前绝大多数的互联网数据传输全靠这个协议支撑。知道它的重要性了吧?

那么它是怎么运行的呢?举个栗子,你想在淘宝买件衣服,首先要输入网址(你要访问的数据都是存储在各大服务器上的!全世界有几千万个这样的服务器吧!当然啦,这些数据都是中心化的)发出请求,服务器接受到请求后,给予响应,就与客户端建立连接,数据传回客户端,你就看到想买的东西了,服务器与客户端断开连接。你一看,不满意,又点了一下另外一个网店,于是计算机就重复一次上面的过程。你每一次操作电脑就会重复一次上面的过程,直到网购结束。

问题来了,这种互联网模式有很多弊端,简单列举一下:

1.数据的利用:你访问的网站的数据,你访问网页产生的数据,都在中心化的服务器上,那么,这些数据谁能看,谁能用,什么时候看,什么时候用,怎么用,几乎都是服务器端说了算。假如CIA控制了机房……  数据的生产者很难有话语权。数据的交易更是寡头之间的贸易,和互联网数据生产者几乎无关。

2.安全性差。如果服务器遭到恶意攻击,要么数据被盗,要么网站不能访问(经常看到的502情况)。为了防止数据丢失,服务器不得不穷尽一切办法进行防御并有多个备份。

3.效率低下。使用HTTP协议从一台计算机服务器上一次只能下载一个文件,而不是同时从多台计算机中获取文件。假如你需要的资源存放的服务器在欧洲,那么亚洲的客户端访问就要翻越半个地球来传输数据。

简单总结,中心化的网络限制了互联网的发展。

下面让我们看看IPFS是怎么解决这些弊端的。

星际文件系统IPFS(InterPlanetary File System,缩写IPFS)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由Protocol Labs (协议实验室)在开源社区的帮助下发展。其最初由Juan Benet设计。

IPFS是点对点的超媒体协议,可以让网络更快、更安全、更开放。它是一个面向全球的、点对点的分布式版本文件系统,试图将所有具有相同文件系统的计算设备连接在一起。

看到这里估计小白们都蒙逼了,那就举个栗子!

比如,你想看一个名叫**的小电影(有些同学想歪了啊),就直接在IPFS网络里搜索视频的名字**(通过一个叫IPNS的去中心化的文件命名系统),IPFS网络会迅速索引区块链(这个区块链上存储全网所有文件的文件名的哈希值)上的哈希值,并反馈搜索结果,下面需要支付一点点filecoin代币,就可以获取这个视频文件缓存到本地(这个文件不是从云或者服务器上下载下来的,而是网络参与者贡献的,还有可能是离你最近的一个节点,这样的网络不需要中间的服务器,数据传输效率高)。

是不是很酷?更酷的在后面。

如果恰好你要看的这个文件附近几个节点都有存储,IPFS网络会把文件拆分好几份,同时从几个节点下载文件,效率更高。如果你把这个文件存在自己电脑里,不仅自己观看,同时也给其他人提供资源,或者自己创新的视频共享到网络,你也有机会获得filecoin代币,因为你也为网络做了贡献。也就是说,数据生产者可以获得报酬了!喜大普奔吧?

在IPFS网络里,每个文件及其中的所有块都被赋予一个称为加密散列的唯一指纹。

IPFS通过网络删除重复具有相同哈希值的文件,通过计算是可以判断哪些文件是冗余重复的。并跟踪每个文件的版本历史记录。

每个网络节点只存储它感兴趣的内容,以及一些索引信息,有助于弄清楚谁在存储什么。

查找文件时,你通过文件的哈希值就可以在网络查找到储存改文件的节点,找到想要的文件。

使用称为IPNS(去中心化命名系统),每个文件都可以被协作命名为易读的名字。通过搜索,就能很容易地找到想要查看的文件。

也就是说,每个网络成员兼顾使用者、运营者、维护者三个角色。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,145评论 6 13
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,366评论 11 349
  • 文/苏诉 01 第一次看这本书的时候,我还不能很好地理解这本书的名字,嫌疑人X,在书的开篇就早已点明,那么为何还要...
    苏诉阅读 1,267评论 13 13
  • 首先准备一台Linux环境的服务器,建议使用 VMware 或者 virtual box 来虚拟一台服务器,这对于...
    odirus阅读 3,744评论 1 27