Cloudflare新发布网站服务Workers Sites,开发者可将静态网站直接上传到互联网的边缘,使其更接近最终用户,降低网站存取的延迟,同时Cloudflare也发布了HTMLRewriter,可让开发人员动态操作DOM,使Workers Sites的静态网站也能有动态效果。
由于网站的效能受地理距离影响,因此有不少是为了增加网页效能而发展的技术,像是从HTTP/1.1开始,支援网站与浏览器间可建立并维持多个连线,还有后来的CDN技术,能将静态的内容存在距终端使用者较近的资料中心,加速用户存取网站的速度。而Cloudflare现在发布静态网站部署服务Workers Sites,则是要将网站直接发布到互联网的边缘,减少用户存取延迟。
Cloudflare提到,CDN快取内容有其限制,需要猜测要被快取在CDN中的内容,而且快取的内容也无法被永久留存,而Workers Sites的想法,则是与其将来源的内容推送到边缘,倒不如一开始就把内容放在边缘,边缘就是内容的来源。Workers Sites服务,是奠基于Cloudflare的无服务器平台Workers以及分散式键值储存Workers KV打造。
开发者可以直接使用任何的静态网站产生器,诸如Hugo、Gatsby或Jekyll产生网站,并利用Cloudflare的CLI Wrangler将网站上传到Workers KV,当终端使用者的请求送至Workers Site时,便会读取Workers KV的内容传送给使用者。Workers Sites可用来部署任何静态网站,像是部落格网站或是行销网站等。
Cloudflare另外还发布了HTMLRewriter,这是在Workers Runtime运作的串流HTML解析器,能让开发者基于选择器的JavaScript API进行DOM操作,当HTMLRewriter与Workers Sites结合使用,则可以让静态网站不那么静态,Cloudflare提到,开发者在Cloudflare Workers建立API,作为无服务器的函式服务,并将前端的静态元素托管在Workers Sites中,就能使用HTMLRewriter API动态的将无服务器函式服务以及静态元素捆绑在一起。
Cloudflare提到,这样的概念就是JAMStack,结合JavaScript、API以及Markup语言,只是大部分JAMStack应用程序都依赖客户端呼叫第三方的API,并由客户端JavaScript处理渲染工作,所有工作都仰赖客户端装置运作,而HTMLRewriter则是在边缘的服务器呼叫API,与客户端相比,服务器运算能力更好,而且可以快取这些内容,开发者还可以直接在Workers撰写API,并合并HTML使用。