1
q8515620 88 天前
抛开投毒事件不谈,使用 CDN 难道不是为了加速吗?
|
2
GooMS 88 天前
Keep it simple
|
5
dejavuwind 88 天前 via Android
不是写前端的 猜测一下
CDN 可以加速不同网络环境 提升访问体验 升级啥的也方便 不然还得自己替换文件 另外就可能虽然只有几十个 Bytes 但是如果访问量足够大 还是能省一些钱的 |
6
jeesk 88 天前 via Android
现在已经不相信任何国内供应链了
|
7
IvanLi127 88 天前
大家都用同一个 cdn 地址加载相同的库,浏览器不就能高高兴兴地缓存了嘛。
http 时代中间链路还能帮你半路就响应缓存的内容,不知道现在是什么形态了 |
8
07aPzknB16ui9Cp3 88 天前
我也不理解,业务小流量小的在 CDN 自托管花不了几个钱,业务大流量大的肯定要 CDN 自托管
|
9
0o0O0o0O0o 88 天前 2
我觉得动机也就只剩网络优势和能省一点是一点了,对于这些子资源正确使用 SRI 也不用太担心投毒: https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
@IvanLi127 #7 > 大家都用同一个 cdn 地址加载相同的库,浏览器不就能高高兴兴地缓存了嘛。 应该是不能的吧?现代浏览器都默认开了缓存分区: https://developer.chrome.com/blog/http-cache-partitioning |
10
thorby 88 天前 via iPhone
v2ex 说话需要这么小心谨慎吗哈哈
|
11
paopjian 88 天前
免费的 CDN 为什么不用, CDN 存在的意义就是全球加速网络, 自己放自己服务器还得费心关心用量和费用,
|
12
Bingchunmoli 88 天前 via Android
第一用自己的 cdn ,那么钱从何来,你不是大客户,节点多吗, 被攻击自己余额保得住吗
|
13
totoro625 88 天前
粗劣的解释一下:
1. 相当大一部分正规网站的国内服务器出口带宽一般都非常小,如 1mbps 1mb 大小的文件需要 8 秒加载完,这种是不能接受的,而提高带宽的价格通常是:20 元/mbps/月 2. 国内 CDN 的价格非常昂贵,还有可能被人恶意刷流量,这些占比较大的静态资源提供了免费快速的 CDN 所有命运的馈赠,早已暗中标好了价格 3. 现代浏览器的设计,对于域名拆分提供了更好的使用体验,提高并行下载速度,减轻单一域名的压力 4. 现代程序代码的设计沿用的国外习惯,这些资源在国外都是专业的可信机构免费提供 CDN 的,代码设计上就是要从 CDN 获取资源,而且非常零碎 这涉及到国内国外网络建设及收费模式的问题,详见 /t/1015855#r_14321278 /t/837890#r_11430013 |
14
muzihuaner 88 天前 via Android
为了省钱
|
15
IvanLi127 88 天前
@0o0O0o0O0o 看来我的知识过期了🤣
|
16
CHS 88 天前
你这个问题就和别人问为什么要用 Github 、vercel 、Cloudflare 、jsDelivr 、unpkg 、npmjs 之类的一样
因为这类服务已经是基础设施的一部分了,直接上手使用是理所当然的事情 |
17
msg7086 88 天前
很慢啊。我服务器在一个地方,但用户遍布全球各地,不用现成的 CDN ,总不见得自己从头建一个 CDN 起来吧。
|
18
Mogugugugu 88 天前
用 CDN 没问题,就算再小的文件,也是占用请求的,而浏览器给统一域名的并发请求数量是有限制的,加上 CDN 的区域加速等功能,CDN 已经成为了基础设施的一部分。
但是用 BootCDN 是什么玩意?无法理解,至于楼上说的 SRI 是个好东西,但是知道 SRI 也不会用 BootCDN... |
19
restkhz 88 天前 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 是一种可以不花钱,让响应时间快一个数量级,还能节省带宽/流量的方法。 |
20
SillyGod OP @restkhz
您具体了信息量的尺度,这能让我更明白为什么了 CSS 的大小往往比 HTML 本身要 "大的多" ,这种情况下,CSS CDN 就很有道理了 可能我自己写的项目都很简单,所以我自认为我写的项目涉及的 CSS 并没有大很多 我在提这个问题时,确实是极大的低估了 CSS 文件的大小 如果以正常项目尺度来评判,那这些 CSS 可能也相当于 1 至 多个 图片文件了 |
21
SillyGod OP @Mogugugugu
BootCDN 不是用的人很多嘛,要不然之前投毒时也不至于反响那么大吧,我个人用的很多 Github 开源项目都是用的 BootCDN ,那件事情后基本都有 issue 或者 pull request 来改 CDN 了。 |
22
Francklin 85 天前
还有一个重要原因就是国内网站需要备案,且对个人网站非常不友好,限制非常多,导致许多个人网站不备案,网站托管在境外,速度自然是慢很多的。如果能把部分静态资源放到国内 CDN 上就更好了,能较快提升网站访问速度。
|