颠覆网站C/S模式 没有服务器的网站会带来什么变革?
2018-07-07 开源中国 编辑:佚名
前谷歌设计师,同时也是现 Dropbox 设计副总裁 Nicholas Jitkoff 创造了一种“仅存在于 URL 中的网站” itty bitty。可以先点击这里进去感受一下该网站的特点。据介绍,这是一种自包含微型网站,与传统网站最大的区别在于,它不需要服务器对网站进行托管,而是将网页内容压缩、编码到 URL 中,通过该 URL 在用户间(“客户端”间)传播数据。
具体来讲,该机制可以拆分为以下几个步骤:
itty bitty 使用可以显著减小 HTML 体积的 Lempel–Ziv–Markov 链算法对网页内容进行压缩。
压缩之后,itty bitty 对压缩后的内容进行 base64 编码,将其从二进制数据转换为可以安全存储在 URL 中的字母和数字字符串。
转化的结果被称为 URL 片段(fragment),此时 itty bitty 会将该 URL 片段作为后缀附着在 https://itty.bitty.site/#Name/上,生成一个新的可传播的 URL,其中 Name 表示该页面的 title。
生成的 URL 通过复制或者直接分享到 Twitter 等方式进行传播,接收者访问该 URL时,Web 浏览器会加载 itty.bitty.site 以逆转上述过程,从而获取最初的 HTML 页面内容。值得一提的是,因为没有服务器存在,那么用户访问该 URL 的时候,其网络请求并不会发往所谓的”服务器“,而是借助于 URL fragment 的特性“跳转到页面上的某个位置”。
itty bitty 已开源,地址:https://github.com/alcor/itty-bitty,从其更新时间来看,目前该项目还处于比较早期阶段,我们无法想象这种颠覆性的网站机制,将会带来怎样的互联网变革,不过已经有不少人为其安全性表示担忧,其中最显而易见的问题是:URL 不应该用于传输数据,这一点在 GET/POST 的设计上早就有警示。