百度云加速边缘计算函数规则:使用边缘计算缓

发布时间:2022-05-25 09:47 来源:好主机 阅读:190 作者:网络 栏目: 经验分享 欢迎投稿:712375056

百度云加速新出的边缘计算功能确实不错,可操作性非常强。今天我们来学习下如何利用这个功能给网站做缓存。

首先我们先创建函数,在我们的控制台左边,我的函数,添加

函数名随便写

然后进入编辑这个函数:

输入代码保存,代码如下:

async function handleRequest(event) {      const { request } = event      // POST请求不缓存      if (request.method.toUpperCase() === 'POST')          return await fetch(request)       // 创建cacheKey      let cacheUrl = new URL(request.url)      let cacheKey = new Request(cacheUrl, request)      let cache = caches.default      // 查找是否该cacheKey已缓存      let response = await cache.match(cacheKey)      // 如果没缓存则加入到缓存      if (!response) {          response = await fetch(request)          response = new Response(response.body, response)          // 添加过期时间          response.headers.append('Cache-Control', 'max-age=10')          // 加入到缓存          event.waitUntil(cache.put(cacheKey, response.clone()))      }      return response  }  addEventListener('fetch', event => {      return event.respondWith(handleRequest(event))  })  再返回控制台,我的网站,进入域名管理,左边的边缘计算    
   添加触发规则,选择刚才添加的函数名,确认即可  
   匹配内容写你要缓存的URL地址加通配符,即可完成。

URL 匹配规则说明:

规则绑定形如: https://*.example.com/images/*

一般规则:
1、规则里必须包含域名,如example.com/1.jpg。
2、规则里不能包含参数,如example.com/?anything是不合法的。
3、规则中如果不包含协议,则会匹配http和https;如果指定协议,则只匹配指定的协议。如www.example.com/会同时匹配https://www.example.com/和http://www.example.com/,https://www.example.com/只匹配https://www.example.com/而不会匹配http://www.example.com/。

关于通配符「*」:
1、仅支持通配符,代表0个或多个任意字符。
*不能用于中缀或参数的匹配,如example.com/*.jpg或example.com/?foo=*都是不合法的。
2、多条规则都匹配时,优先匹配更精确的规则,如www.example.com/*的匹配优先级高于*.example.com/*。
3、*匹配前缀时,*example.com/会同时匹配https://example.com/和https://www.example.com/;*.example.com/只会匹配https://www.example.com/而不匹配https://example.com/。
4、*匹配后缀时,https://example.com/path*,会同时匹配https://example.com/path2和https://example.com/path/readme.txt;https://example.com/path/*,则只匹配https://example.com/path/readme.txt而不匹配https://example.com/path2。

发布者:水桥丶帕露西

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。