前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSEW —— 类似于 jsDelivr 的静态资源加速

JSEW —— 类似于 jsDelivr 的静态资源加速

作者头像
OhhhCKY
发布2023-03-23 10:36:41
9770
发布2023-03-23 10:36:41
举报
文章被收录于专栏:YFun's BlogYFun's Blog

现在网络上大部分公益项目都为 jsDelivr 提供镜像加速,此时用户的资源文件必须从源服务器经 jsDelivr 再绕过公益服务才能回到用户手上。本身 jsDelivr 也回源 GitHub 和 NPM,那么为什么不从源拉起?

那好,那就从源拉起。

域名

目前,JSEW 的域名已经开启中国大陆境内和境外双 CDN 加速,为用户提供快速的服务。

使用 s.cky.qystu.cc 替换 fastly.jsdelivr.net, cdn.jsdelivr.net 作为加速域名,遵循中国大陆相关地区的法律法规。

端点

目前仅支持使用 /ghnpm,并且自动开启 HTTPS 访问与 Gzip 压缩。

GitHub

GitHub 文件来源于 raw.githubusercontent.com,将自动转换路径,API 如下:

代码语言:javascript
复制
/gh/[USER_NAME]/[REPO_NAME]@[BRANCH_NAME]/[FILE]

请求链接:

代码语言:javascript
复制
https://s.cky.qystu.cc/gh/detalkjs/client@master/dist/detalk.js

需要注意的是,部分 CDN 的缓存时间会比较长,如果是仓库 master 等变动较快的分支不建议使用。如果你需要实时获取最新的 Commit,那么请在请求 URL 后追加 !latest,这样 JSEW 会自动 307 跳转至最新的 Commit Tag.

同时,如果没有指定分支名,则会自动默认为 master

NPM

NPM 文件来源于 www.npmjs.com,将自动转换路径并获取文件 Hex,API 如下:

代码语言:javascript
复制
/npm/[PACKAGE_NAME]@[VERSION]/[FILE]

请求链接例如:

代码语言:javascript
复制
https://s.cky.qystu.cc/npm/@detalk/static@1.3.2/dist/detalk.js

如果当版本号为 @latest 时,为了避免缓存问题,将会自动 307 跳转至最新的版本号。

如果版本号为 @1 等只包含 majorminor 的形式时,将会自动 307 跳转至最新的以指定版本号为限制条件的完整版本号。

例如:

代码语言:javascript
复制
https://s.cky.qystu.cc/npm/@detalk/static@1/dist/detalk.js
Redirect to =>
https://s.cky.qystu.cc/npm/@detalk/static@1.3.2/dist/detalk.js
代码语言:javascript
复制
https://s.cky.qystu.cc/npm/@detalk/static@1.2/dist/detalk.js
Redirect to =>
https://s.cky.qystu.cc/npm/@detalk/static@1.2.1/dist/detalk.js

为了避免潜在问题,即使不指定版本号,也必须指定 @latest,否则无法访问。

自动压缩

除 Gzip 压缩外,目前 CKY#JSEW 还兼容部分文件的自动压缩功能。

例如,请求 main.min.js 文件,而目录下无对应文件,只有 main.js,那么则会自动获取 main.js 并进行压缩返回。

此功能目前适用于 CSS 与 JavaScript,只有在请求文件为 .min.js.min.css 且对应文件不存在时可用。

感谢您对公益服务的支持!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-01-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 域名
  • 端点
    • GitHub
      • NPM
      • 自动压缩
      相关产品与服务
      内容分发网络 CDN
      内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档