{ "topic": "cdn", "type": "fill_blank", "schema_version": "1.0.0", "generated": "2026-09-02T21:20:00+08:00", "questions": [ { "id": "fb-001", "type": "fill_blank", "question": "CDN 的 ____ 是部署在全球各地的缓存服务器,用户访问时会就近获取资源,大幅降低网络延迟。", "answer": [ "边缘节点" ], "answer_rule": "any", "difficulty": 1, "tags": [ "CDN", "边缘节点", "就近访问" ], "explanation": "边缘节点(Edge Node)是 CDN 网络中最靠近用户的服务器节点,分布在全球各大城市的数据中心。当用户请求资源时,CDN 会将其引导至地理位置或网络距离最近的边缘节点,从该节点的缓存中直接返回资源,避免了跨地域长距离传输带来的延迟。", "source": null, "related": [] }, { "id": "fb-002", "type": "fill_blank", "question": "当边缘节点的缓存中没有用户请求的资源时,会向 ____ 拉取源文件,这个过程称为回源。", "answer": [ "源站", "源服务器", "源站服务器" ], "answer_rule": "any", "difficulty": 1, "tags": [ "CDN", "回源", "源站" ], "explanation": "回源(Origin Pull)是 CDN 的核心机制之一。当边缘节点缓存未命中(Cache Miss)时,节点会代替用户向源站(Origin Server)发起请求获取原始资源,获取后缓存到本地,再返回给用户。后续相同资源的请求就可以直接从边缘节点缓存返回,不再需要回源。", "source": null, "related": [] }, { "id": "fb-003", "type": "fill_blank", "question": "CDN 使用 ____ 技术,根据用户的来源 IP 地址和地理位置信息,将请求解析到距离最近的边缘节点。", "answer": [ "智能DNS", "智能DNS解析", "全局负载均衡" ], "answer_rule": "any", "difficulty": 2, "tags": [ "CDN", "智能DNS", "地理位置解析" ], "explanation": "智能 DNS 是 CDN 的流量调度核心。它不同于传统 DNS 只返回固定的 IP 地址,而是根据请求来源 IP 的地理位置、网络运营商、节点负载等多种因素,动态返回最优边缘节点的 IP 地址。这样用户就被引导到最近、最快的节点,实现就近访问。", "source": null, "related": [] }, { "id": "fb-004", "type": "fill_blank", "question": "CDN 最典型的应用场景是 ____ 加速,即将图片、CSS、JS、视频等不经常变化的文件缓存到边缘节点。", "answer": [ "静态资源" ], "answer_rule": "any", "difficulty": 1, "tags": [ "CDN", "静态资源", "加速" ], "explanation": "静态资源加速是 CDN 最基础也是最广泛的应用。图片、样式表、JavaScript 文件、字体、视频等静态资源具有可缓存、不随请求变化的特点,天然适合 CDN 缓存。通过将这些资源分发到全球边缘节点,用户可以从最近的节点获取,显著减少加载时间,提升页面性能。", "source": null, "related": [] }, { "id": "fb-005", "type": "fill_blank", "question": "CDN 可以提供 ____ 防护能力,将攻击流量分散到全球多个边缘节点,避免源站被压垮。", "answer": [ "DDoS" ], "answer_rule": "any", "difficulty": 2, "tags": [ "CDN", "DDoS防护", "安全" ], "explanation": "CDN 天然具有 DDoS 防护能力。由于 CDN 拥有全球分布的大量边缘节点和巨大的带宽容量,当遭受 DDoS 攻击时,攻击流量会被分散到全球各地的边缘节点上,而不是全部涌向源站。每个边缘节点只需承受一小部分攻击流量,加上专业的流量清洗机制,可以有效缓解 DDoS 攻击对源站的冲击。", "source": null, "related": [] }, { "id": "fb-006", "type": "fill_blank", "question": "CDN 的 HTTPS 终止是指边缘节点负责处理与用户之间的 ____ 握手,而边缘节点到源站之间可以使用 HTTP 协议通信。", "answer": [ "TLS", "SSL" ], "answer_rule": "any", "difficulty": 3, "tags": [ "CDN", "HTTPS终止", "TLS", "安全" ], "explanation": "HTTPS 终止(TLS Termination)是 CDN 的重要功能。用户与边缘节点之间建立 HTTPS/TLS 加密连接,边缘节点负责完成 TLS 握手和加解密工作。而边缘节点与源站之间可以使用 HTTP 通信,这样既保证了用户端的安全性,又减少了源站处理 TLS 的计算开销,提升了整体性能。", "source": null, "related": [] }, { "id": "fb-007", "type": "fill_blank", "question": "CDN 缓存策略中,Cache-Control 的 max-age 指令控制资源在浏览器/节点缓存中的 ____ 时间,immutable 标记表示资源永不变形。", "answer": [ "有效", "存活", "过期" ], "answer_rule": "any", "difficulty": 3, "tags": [ "CDN", "Cache-Control", "缓存策略" ], "explanation": "max-age 指令指定了资源在缓存中的有效期(秒数),在有效期内浏览器或 CDN 节点不会重新向服务器请求该资源。immutable 标记告诉浏览器该资源一旦部署就不会修改(通常配合版本号文件名使用),即使用户手动刷新也不会重新请求,进一步减少不必要的网络请求,提升加载速度。", "source": null, "related": [] }, { "id": "fb-008", "type": "fill_blank", "question": "CDN 的缓存通常采用分层架构:用户请求先到达 ____ 节点,未命中则到区域节点,最后才回源站。", "answer": [ "边缘" ], "answer_rule": "any", "difficulty": 3, "tags": [ "CDN", "缓存分层", "边缘节点", "区域节点" ], "explanation": "CDN 采用三级缓存分层架构:①边缘节点(Edge)——最靠近用户,缓存热门资源的副本;②区域节点(Regional/Mid-Tier)——覆盖一个地理区域,缓存该区域内多个边缘节点的共享资源;③源站(Origin)——最终的数据源。请求从边缘到区域到源站逐层回溯,只有上层缓存未命中才会访问下层,有效降低了源站压力。", "source": null, "related": [] }, { "id": "fb-009", "type": "fill_blank", "question": "CDN 保证缓存一致性的常见手段包括:文件名加版本号、主动调用 ____ API 清除缓存、以及设置较短的 max-age。", "answer": [ "清除", "刷新", "purge" ], "answer_rule": "any", "difficulty": 3, "tags": [ "CDN", "缓存一致性", "版本号", "缓存清除" ], "explanation": "CDN 缓存一致性是常见挑战,主要通过三种方式保证:①文件名加版本号或内容哈希(如 style.v2.css),新版本 URL 是新资源,天然绕过旧缓存;②主动调用 CDN 提供的 purge/invalidation API,强制清除指定 URL 或目录的缓存;③设置较短的 max-age,让缓存快速过期重新验证。实际项目中通常组合使用这些策略。", "source": null, "related": [] }, { "id": "fb-010", "type": "fill_blank", "question": "CDN 的缓存命中率通常很高,100 万用户访问时,源站可能只需处理 ____ 次回源请求。", "answer": [ "1万", "10000" ], "answer_rule": "any", "difficulty": 2, "tags": [ "CDN", "缓存命中", "回源比例" ], "explanation": "CDN 的核心价值就是通过缓存大幅减少源站压力。假设 CDN 缓存命中率为 99%,那么 100 万次用户请求中只有 1% 需要回源,即源站只需处理约 1 万次请求。这意味着源站的负载降低了 99%,极大地保护了源站的可用性和性能,同时也能节省源站的带宽和计算资源成本。", "source": null, "related": [] } ] }