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

2019-12-01 便签格
Cover Image

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


CDN 简介

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

—— Wikipedia

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

看了这样的解释你应该能够理解,CDN 虽然能缓解互联压力,可也是要耗费一定的资源的,从而市面上的 CDN 大多是收费的。Cloudflare 虽然有免费 CDN ,可是国内节点致开放给专业版用户使用,价格偏高,而海外的节点又类似负优化,可能还会降低速度。

jsDelivr

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

基础使用

其实 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

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

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

便签格

评论

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