无服务器网站:颠覆C/S模式的新趋势

发表时间: 2018-07-09 10:41

前谷歌设计师,同时也是现 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 的设计上早就有警示。

你怎么看?

本文经授权转自开源中国,作者OSC-h4cd。

“征稿啦”

CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。

如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。