CDN

思维导图

读完本文,你将知道以下答案:

  1. CDN是什么?
  2. CDN的原理是什么?
  3. 怎么防止CDN资源被盗用?

介绍

CDN (Content Delivery Network)是内容分发网络,就是将静态资源(文件、图片、视频、CSS样式)分发到不同地方,各个地方的人就近访问,提高访问速度,减轻服务器压力。

注:静态资源从CDN边缘服务器加载,其他数据还是从服务器加载

工作原理

图片来源:https://juejin.cn/post/6962904216503320589

防盗链

Referer防盗链

  1. 通过来源来查看是否合法

    原理:检测 referer 是不是合法访问来源。
    这里会有一个问题就是,当我们第一次访问网站地址时,没有referer,那么我们需要将referer设置为空。

时间戳防盗链

  1. 时间戳防盗链
    时间戳防盗链的目的是使得每个请求的 url 都具有一定的 “时效性”,所以 url 本身需要携带过期时间相关的信息,同时还需要确保这个过期时间不能被恶意修改,因此采用 md5 算法,将 key、过期时间、文件路径等信息进行加密得到签名加入 url,并在 CDN 节点进行验证。

    http://xxx.yyy.com/DIR1/dir2/vodfile.mp4?v=1.1&sign=<SIGN>&t=<T>

来源:https://developer.qiniu.com/fusion/kb/1670/timestamp-hotlinking-prevention

静态资源更新问题

因为 CDN 相当于缓存,所以静态资源不应该是实时更新的,那我们怎么刷新CDN?

  • 强制刷新(删除指定目录、指定静态资源缓存,下次访问将回源(从服务器获取,并缓存))
  • 缓存到期
posted @ 2023-05-21 00:18  帅气的涛啊  阅读(31)  评论(0编辑  收藏  举报