动态内容能走 CDN 吗?全站加速落地与场景对照
「动态内容不能上 CDN」这句话,已经过时了 这个说法来自十几年前的 CDN 架构。那时候节点上跑的就是一台缓存服务器,规则很简单:命中缓存就吐,没命中就回源。动态页面每次内容都不一样,命中率接近零,请求还得绕到边缘再回源,等于白多一跳。当年的结论没问题。 但现在 CDN 边缘干的活早就不只是缓存了。TLS 终结、HTTP/2 或 HTTP/3 复用、路由选优、连接池保持、协议转换(边缘用 HTTP/3 接用户、回源走 HTTP€�基础 WAF 和限速,这些都不依赖「内容是不是静态」。用户到边缘那一段 RTT,永远比用户直连源站短,跨运营商、跨境访问时差距更明显。 准确的说法是:动态内容不适合缓存,但很适合走加速链路。行业里把「静态走缓存、动态走转发」这套模式叫全站加速,有的厂商叫动态加速或 DCDN,名字不同,底层做的事差不多。 全站加速落地,实际在做三件事 动静分离:先分清楚谁是动态 动静分离不用改业务代码,是在 CDN 配置里写规则。常见的判断维度有这么几种: 按后缀:.html 走缓存,.php 走转发。简单粗暴,但现代应用 URL 里经常没有后缀,不适用。 按路径前缀:/api/、/cart/、/user/ 走动态转发,/static/、/assets/ 走缓存。目前比较通用的做法。 按请求方法:GET 可以尝试短缓存,POST/PUT/DELETE 一律直接转发,不进缓存逻辑。 按响应头:源站返回 Cache-Control: no-store 的,边缘阶段直接跳过缓存判断。…