jsDelivr | 免费加速图片等网站静态资源

2019-12-01 便签格
Cover Image

由于一些众所周知的原因,GitHub 在大陆的访问速度一直不是很理想,如果你也像我一样将博客,图床等放在 GitHub 托管的话,很可能会有同学投诉访问速度,特别是初次打开的时候,速度着实堪忧。那有没有什么低成本的方案,来加速我们的网站打开速度呢?当然是有的。

CDN 简介#

内容分发网络(英语:Content Delivery Network 或 Content Distribution Network,缩写:CDN)是指一种透过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、影片、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。

—— Wikipedia

网站、应用或多或少需要一些静态资源,如 CSS、JS、图片等。这些资源如果与源站放在一起,下行带宽小的服务器,多位访客同时访问时可能就会「拥堵」。虽然 GitHub Pages 带宽是足够的,但 GitHub 在某些区域的速度实在不敢恭维。

这时候,CDN 就派上用场了。简而言之就是让服务器距离大陆较远的 GitHub ,将托管在那里的静态资源缓存到一个近一点的服务器,从而加快访问。

jsDelivr#

jsDelivr 是一款公共免费 CDN ,调用多家 CDN 保证全球服务质量、拥有多层缓存和灾后保障 SLA 100 。也是为数不多的有 ICP 备案,提供许多中国节点的海外 CDN 服务商。

jsDelivr is the only public CDN with a valid ICP license issued by the Chinese government, and hundreds of locations directly in Mainland China.

基础使用#

其实 jsDelivr 的使用非常简单——直接发布个 Release 就能用了。

如托管在 GitHub 的仓库链接都是 https://github.com/username/repo/branch/file 的形式,而我们就可以将前面的 github.com 改成 jsDelivr 提供加速 GitHub 仓库的域名 cdn.jsdelivr.net/gh

嗯,兴冲冲配置一发,发现什么都没有?其实还是有一点点小差别的。比如分支那里,jsDelivr 默认要直接在仓库名后面 @ ,所以真正其实是 https://cdn.jsdelivr.net/gh/username/repo@branch/file 的形式。当然,如果你放在仓库的默认分支,还可以直接将 branch 这个关键字直接删了,变成 https://cdn.jsdelivr.net/gh/username/repo/file 一样能获取到!

另外,如果是一些比较稳定的文件,后面不会频繁地改动,还可以发布成一个版本,然后在 repo@version 就可以引用对应的版本。

加速图床#

如果你还记得笔者之前写的 PicGo + GitHub 搭建免费图床 的话,不难发现 jsDelivr 也是能加速这个图床(本质不还是一个 GitHub 仓库嘛)的。我们只需要在 GitHub 图床设置 中将链接设置为 https://cdn.jsdelivr.net/gh/username/repo 即可!前提是你上传到默认分支。

#

这么好的东西,还是有一点限制的。比如单个文件最大不能超过 20M ,但是不限制流量。这 20M 你甚至能来加速一个小视频……

其实还可以加速博客的主题配置,js/css 文件,图标,头像等,从而加速博客的访问速度,比如我的博客在加上 CDN 后访问速度一度从 2s 左右降低到 0.8s ,体验自然是上去了。

本文作者:ChrAlpha

本文链接: https://blog.ichr.me/post/use-jsdelivr-speed-up-static-files-visits/

文章默认采用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

便签格

评论

您所在的地区可能无法访问 Disqus 评论系统,请切换网络环境再尝试。