V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
如果你希望学习 CDN 相关知识,那么建议你可以遍历以下软件的说明文档。
NGINX
cURL
SillyGod
V2EX  ›  CDN

为什么大家都要用 BootCDN ?

  •  
  •   SillyGod · 16 天前 · 1957 次点击
    本人技术不精,只是编程小白

    我发现很多人会用:
    https://cdn.staticfile.org
    https://cdn.bootcdn.net

    这俩经过我的测试,已经被 uBlock 拦截掉了

    我也看了前段时间的投毒事件,大概理解为什么


    但是我不理解,为什么这种简单的 CSS 文件需要用第三方 CDN 呢?
    全部用自己的服务器存储并加载,难道很消耗流量吗?这又不是图片资源


    我技艺不精,可能有些地方不清楚,所以希望大佬赐教,诚心发问:

    为什么你们 CSS 文件要用第三方 CDN ?
    22 条回复    2024-09-04 12:07:40 +08:00
    q8515620
        1
    q8515620  
       16 天前
    抛开投毒事件不谈,使用 CDN 难道不是为了加速吗?
    GooMS
        2
    GooMS  
       16 天前
    Keep it simple
    SillyGod
        3
    SillyGod  
    OP
       16 天前
    @q8515620

    我的意思是,这点 CSS 文件,恐怕加载也要不了 1s 吧
    SillyGod
        4
    SillyGod  
    OP
       16 天前
    @GooMS

    就像 Python 一样呗,就 import 就完了
    dejavuwind
        5
    dejavuwind  
       16 天前 via Android
    不是写前端的 猜测一下
    CDN 可以加速不同网络环境 提升访问体验 升级啥的也方便 不然还得自己替换文件
    另外就可能虽然只有几十个 Bytes 但是如果访问量足够大 还是能省一些钱的
    jeesk
        6
    jeesk  
       16 天前 via Android
    现在已经不相信任何国内供应链了
    IvanLi127
        7
    IvanLi127  
       16 天前
    大家都用同一个 cdn 地址加载相同的库,浏览器不就能高高兴兴地缓存了嘛。

    http 时代中间链路还能帮你半路就响应缓存的内容,不知道现在是什么形态了
    wuzzispacelake
        8
    wuzzispacelake  
       15 天前
    我也不理解,业务小流量小的在 CDN 自托管花不了几个钱,业务大流量大的肯定要 CDN 自托管
    0o0O0o0O0o
        9
    0o0O0o0O0o  
       15 天前   ❤️ 2
    我觉得动机也就只剩网络优势和能省一点是一点了,对于这些子资源正确使用 SRI 也不用太担心投毒: https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity

    @IvanLi127 #7
    > 大家都用同一个 cdn 地址加载相同的库,浏览器不就能高高兴兴地缓存了嘛。
    应该是不能的吧?现代浏览器都默认开了缓存分区: https://developer.chrome.com/blog/http-cache-partitioning
    thorby
        10
    thorby  
       15 天前 via iPhone
    v2ex 说话需要这么小心谨慎吗哈哈
    paopjian
        11
    paopjian  
       15 天前
    免费的 CDN 为什么不用, CDN 存在的意义就是全球加速网络, 自己放自己服务器还得费心关心用量和费用,
    Bingchunmoli
        12
    Bingchunmoli  
       15 天前 via Android
    第一用自己的 cdn ,那么钱从何来,你不是大客户,节点多吗, 被攻击自己余额保得住吗
    totoro625
        13
    totoro625  
       15 天前
    粗劣的解释一下:
    1. 相当大一部分正规网站的国内服务器出口带宽一般都非常小,如 1mbps
    1mb 大小的文件需要 8 秒加载完,这种是不能接受的,而提高带宽的价格通常是:20 元/mbps/月
    2. 国内 CDN 的价格非常昂贵,还有可能被人恶意刷流量,这些占比较大的静态资源提供了免费快速的 CDN
    所有命运的馈赠,早已暗中标好了价格
    3. 现代浏览器的设计,对于域名拆分提供了更好的使用体验,提高并行下载速度,减轻单一域名的压力
    4. 现代程序代码的设计沿用的国外习惯,这些资源在国外都是专业的可信机构免费提供 CDN 的,代码设计上就是要从 CDN 获取资源,而且非常零碎
    这涉及到国内国外网络建设及收费模式的问题,详见 /t/1015855#r_14321278 /t/837890#r_11430013
    muzihuaner
        14
    muzihuaner  
       15 天前 via Android
    为了省钱
    IvanLi127
        15
    IvanLi127  
       15 天前
    @0o0O0o0O0o 看来我的知识过期了🤣
    CHS
        16
    CHS  
       15 天前
    你这个问题就和别人问为什么要用 Github 、vercel 、Cloudflare 、jsDelivr 、unpkg 、npmjs 之类的一样
    因为这类服务已经是基础设施的一部分了,直接上手使用是理所当然的事情
    msg7086
        17
    msg7086  
       15 天前
    很慢啊。我服务器在一个地方,但用户遍布全球各地,不用现成的 CDN ,总不见得自己从头建一个 CDN 起来吧。
    Mogugugugu
        18
    Mogugugugu  
       15 天前
    用 CDN 没问题,就算再小的文件,也是占用请求的,而浏览器给统一域名的并发请求数量是有限制的,加上 CDN 的区域加速等功能,CDN 已经成为了基础设施的一部分。

    但是用 BootCDN 是什么玩意?无法理解,至于楼上说的 SRI 是个好东西,但是知道 SRI 也不会用 BootCDN...
    restkhz
        19
    restkhz  
       15 天前   ❤️ 1
    楼主想的是流量不大,不就一 css 吗,通常也就传输 20 到 100kB ,其实比较教科书的说法是:延迟优化。

    我有一个网站。HTML+CSS+JS 总共 300kB 需要传输.
    但是我的服务器在地球的另一端,有一个自己编写的脚本,30kB. 这个请求一来一回,加载时间 500ms 。
    但是有另一个 CDN 上的脚本,80kB ,可是 CDN 会就近加载,只需要 30ms ,这个脚本就已经加载完成。
    更大的脚本,用 CDN 加载速度却快了十几倍。
    你当然希望你的 css 能更早,更快地加载完成。少看几百毫秒的白屏,让用户体验更好。
    这是很多 web 实践书里(教科书)会推荐 CDN 的原因。

    另一方面,带宽真的不是问题吗?
    国内的 VPS 通常只有 1-4mbps 。
    我的 HTML 本体 7kB 不到,但是加上 CSS 和 HTML ,就算是 4mbps 的带宽(512kB/s),对于 300kB 需要传输的数据来说,似乎只要有用户同时访问,那么带宽就容易成瓶颈。
    所以我当然会考虑,如果我只需要传输那 7kB 的 HTML 本体,剩下的将近 300kB 的 JS 和 CSS 都扔给 CDN ,带宽不足的问题是否会有很大的缓解呢?
    还有,其实我的网站已经不大了。HTML+css+js 超过 512kB 的比比皆是。楼上有人提到 1mbps 的小鸡,那么 30 到 100kB 的 CSS 是否应该节约就很显而易见了,对不对?

    简而言之,CSS 用 CDN 是一种可以不花钱,让响应时间快一个数量级,还能节省带宽/流量的方法。
    SillyGod
        20
    SillyGod  
    OP
       13 天前
    @restkhz

    您具体了信息量的尺度,这能让我更明白为什么了

    CSS 的大小往往比 HTML 本身要 "大的多" ,这种情况下,CSS CDN 就很有道理了
    可能我自己写的项目都很简单,所以我自认为我写的项目涉及的 CSS 并没有大很多
    我在提这个问题时,确实是极大的低估了 CSS 文件的大小

    如果以正常项目尺度来评判,那这些 CSS 可能也相当于 1 至 多个 图片文件了
    SillyGod
        21
    SillyGod  
    OP
       13 天前
    @Mogugugugu

    BootCDN 不是用的人很多嘛,要不然之前投毒时也不至于反响那么大吧,我个人用的很多 Github 开源项目都是用的 BootCDN ,那件事情后基本都有 issue 或者 pull request 来改 CDN 了。
    Francklin
        22
    Francklin  
       12 天前
    还有一个重要原因就是国内网站需要备案,且对个人网站非常不友好,限制非常多,导致许多个人网站不备案,网站托管在境外,速度自然是慢很多的。如果能把部分静态资源放到国内 CDN 上就更好了,能较快提升网站访问速度。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   942 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:36 · PVG 03:36 · LAX 12:36 · JFK 15:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.