风险提示:理性看待区块链,提高风险意识!

IPFS协议未来能否替代HTTP协议?

2个回答

勇敢的小明6星评价

2021-07-21 17:42:58

IPFS协议未来能否替代HTTP协议?

由Tim Berners-Lee开发的HTTP(超文本传输协议)是当今使用最广泛的协议,HTTP对于互联网来说,是数据通信的基础,也是用户浏览网络底层协议以及客户端——服务器范式的协议支柱。

HTTP发明于1991年,于1996年被Web浏览器采用,从根本上确定了消息如何在互联网上传输,以及浏览器应如何响应命令和服务器处理请求。

HTTP取得了成功,并帮助互联网达到了如今的宏伟阶段,但20多年过去了,也逐渐暴露出一些问题。新技术的不断涌现,对改革和分布式基础架构的需求已变得愈来愈多。

在当前的HTTP实现中,出现了如下问题:

越来越多的用户请求数据:HTTP占用了大量可用带宽,以便向用户提供数据,即使请求数据的人很近,考虑到海量数据,效率也很低。每次从单个服务器下载文件也会导致内容交付效率低下。

内容损坏/失效:HTTP链接不是特别可靠,它们经常会损坏或失效。如果内容被删除,那么它将永远丢失。

HTTP是集中化的:这给了少数拥有数据的个人/企业巨大的权力,可以很容易地限制用户对数据的访问。

IPFS

IPFS是星际文件系统(Interplanetary File System)的缩写,它是一种开源的、点对点的分布式超媒体协议,旨在为所有计算设备提供一个无处不在的文件系统。IPFS的某些特性使它脱颖而出,有潜力成为未来的Web协议。

IPFS尝试通过新颖的P2P文件共享系统解决客户端——服务器模型和HTTP Web的缺陷,这是一个复杂且雄心勃勃的项目,对互联网的未来发展和结构有着深远的影响。

IPFS解决的是围绕着与互联网当前HTTP协议相关的问题,提供了互联网实现其真正潜力所需要的分布式存储和文件系统,综合了以前的点对点系统(包括DHT、BitTorrent、Git和SFS)的成功构想。在IPFS中,不是从中央服务器中下载文件,而是要求网络中的节点提供文件的路径,这可以实现高效率的大量数据分发。

一个人的战争7星评价

2021-07-19 11:45:55

首先说一说HTTP协议工作原理:

HTTP是一个 客户端和 服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用 Web浏览器、 网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认 端口为80)的HTTP请求。(我们称这个客户端)叫用户代理(user agent)。应答的服务器上存储着(一些)资源,比如HTML文件和图像。(我们称)这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnels)。尽管 TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。

通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是 80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

HTTP使用TCP而不是UDP的原因在于(打开)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。

通过HTTP或者HTTPS协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。

再来说一说HTTP协议工作原理:

IPFS ( InterPlanetary File System,星际文件系统),是一种相对模糊的传输协议,它旨在创建持久且分布式存储和共享文件的网络传输协议。在 IPFS 网络中的节点将构成一个分布式文件协同,用于访问分散或审查内容的点对点协议。

IPFS 作为一款开源项目,于 2015 年发布,它的诞生将从根本上改变互联网的工作方式,也有不少业界人士将其解读为取代传统互联网协议 HTTP。

简单来说,HTTP 是专为互联网的浏览器而设计的,用于访问服务器上信息,而 IPFS 在分时节点的网络上对其进行访问。

在 HTTP 协议被广泛应用的当下,它面临着中心化成本高昂、Web 文件常被删除等缺点,IPFS 允许用户托管分布在成百上千个系统中的内容,这些内容可以是公共 IPFS 网关或私有 IPFS 节点。想要访问任何此内容的用户必须输入ipfs:// {content_hash_ID} 形式的 URL。

IPFS 是一种超媒体文本传输协议,由此构成一个点对点的分布式文件系统,目标是代替目前互联网的HTTP协议,构建一个更自由、更开放、更强大的网络,那么你可能会问HTTP 协议是什么?为什么要取代它呢?HTTP就是用来定义互联网数据存储和分布的协议,它是中心化的,我们现在使用的互联网,都是基于HTTP协议的互联网,比如说我们在腾讯视频平台上,搜索一个视频,我们会发现几乎所有网站 都是以http开头的,这个就是使用http协议的网络标识,通过这个网站,我们可以找到存储视频所在的服务器,用户点击视频,网络会发送观看视频的请求命令,服务器根据请求响应要求。

但万一哪天服务器坏了、数据被盗了又或者被删改了,那岂不是很糟糕吗?如果同一时间很多人要打开这个视频,网络就会延迟,系统就会崩溃,体验非常不好,这些都是http协议中心化存储的大BUG,于是一个叫胡安的美国人,提出了IPFS 协议构想,希望通过IPFS协议,构建一个分布式存储网络,在这个网络中呢,它有以下优点:第一,数据存储安全可靠;第二,文件下载速度更快;第三,避免依赖主干网,造成网络拥堵;第四,节约带宽和存储成本等优势。

IPFS分布式存储的原理是怎样的呢?用户存储视频,这个视频上传到IPFS网络,将自动被分割成若干片段,每个片段大小为256K,这个视频可能被分割成20个片段,也可能是30个片段,具体由视频大小而定,分割完之后呢,会随机分发到网络上的各个节点,这些节点就是接入IPFS网络上的计算机了,那么你可能会问,视频被分割成那么多片段,那视频打开和下载岂不是会很麻烦吗?这一点完全不用担心,因为上传到IPFS网络的文件,IPFS 网络会通过算法给文件进行加密,生成一个哈希值地址,就像一串字符一样,那么上传的文件,IPFS 网络会将它切割成若干片段,每个小片段都会赋予唯一的哈希值,然后将每一个哈希值按照一定的次序排成哈希列表,这份文件中除了视频的片段、哈希值列表,还包含一个内容摘要,当用户想要下载视频的时候,只需要搜索这份文件的哈希值,就可以打开视频,或者下载视频,有朋友可能会问,这串哈希值这么长,怎么记得住呢?而且用起来也很麻烦,不利于传播啊?答案是不会,因为哈希值不容易记忆,就像IP地址一样不容易记忆,所以IPFS项目的协议实验室使用IPFS 这样的域名命名系统,将哈希值映射为容易记的名字,使用起来就非常方便啦!

随着IPFS技术的发展成熟,未来IPFS网络就像是现在的互联网一样,只不过网址前面的HTTP协议改成了IPFS协议。