本文档介绍如何在内容分发网络(CDN)中开启 HTML 转 Markdown 功能,使边缘节点能够将 HTML 响应内容转换为 Markdown 格式返回,以更好地服务 AI Agent、爬虫等场景下的内容消费需求。
HTML 转 Markdown 是 CDN 提供的一项 AI 流量管理能力。开启后,对于携带 Accept: text/markdown 请求头、访问 HTML 资源的请求,CDN 边缘节点会自动将源站返回的 HTML 内容转换为 Markdown 格式并响应返回。
转换在边缘节点完成,无需客户改造源站,即可让 AI Agent 与爬虫直接获取结构化的 Markdown 内容。其价值在于:
项目 | 说明 |
|---|---|
触发方式 | 基于请求头的内容协商触发。仅当请求头携带 |
支持的源内容类型 | 源站响应 Content-Type 为 text/html 或 application/xhtml+xml 的资源。 |
转换结果 | YAML Frontmatter + Markdown 正文。Frontmatter 包含 |
响应头 | 转换完成后,CDN 在响应头中标识处理结果,包括 |
转换逻辑 | 当前版本不对源站内容做正文抽取或降噪处理,源站返回什么内容,即对其原样转换为 Markdown。转换效果取决于源站 HTML 自身的内容质量。 |
说明
不建议对面向浏览器访问的客户端渲染(CSR/SPA)页面开启此功能。
对于客户端渲染(如 React、Vue 等单页应用)的页面,源站返回的 HTML 仅为不含正文的空壳,真正的内容需由浏览器执行 JavaScript 后在客户端动态渲染生成。此类页面开启本功能后,转换流程仍会正常执行(功能本身生效),但存在两个问题:
因此,本功能更适合源站 HTML 自身即包含完整正文的页面,例如服务端渲染(SSR)、静态站点生成(SSG),以及通过服务端模板渲染(如 PHP、JSP 等)生成完整 HTML 的页面。
其他说明:
Accept: text/markdown 时触发,不影响浏览器访问(浏览器访问仍返回原始 HTML)。配置生效后,可通过携带 Accept: text/markdown 请求头的方式访问 HTML 资源,验证返回内容是否为 Markdown 格式。示例命令如下:
curl -i -H "Accept: text/markdown" "https://<YOUR-DOMAIN>/example.html"
若功能正常生效,响应头中 content-type 应为 text/markdown; charset=utf-8,响应体为转换后的 Markdown 内容。作为对比,不携带该请求头访问同一 URL 时,应返回原始 HTML。