SEO 百科

边缘渲染

本页目录

边缘渲染

边缘渲染(edge rendering)是把渲染放到内容分发网络的边缘节点上执行,由离访客最近的节点生成 HTML 的做法[1]。它和普通服务端渲染的差别在渲染位置,一个在源站或机房,一个在分布各地的节点上。选它之前要看清两件事,节点上能跑什么代码,以及这些节点对爬虫是不是可见。

渲染位置与请求路径

边缘指离访客最近的那些服务器。Cloudflare 对边缘计算的说明是,把计算放到靠近数据来源的位置,减少客户端与服务器之间的长距离通信[2]。

请求不再一路回到源站。Nuxt 的文档说明,请求先被最近的边缘服务器接住,由它生成 HTML 再返回[1]。数据走过的物理距离缩短,等待时间随之下降。

渲染动作仍然需要运行时。Nuxt 把边缘渲染称为一种部署目标,由 Nitro 把它打包到 Cloudflare Workers 这类平台上[1]。

对抓取与首屏的作用

爬虫也是访客,同样落在最近的节点上。页面在节点上生成,爬虫拿到的响应里就有正文,不必等回到源站。

首字节时间直接受益。数据传输距离变短,服务器开始响应的时间提前[1]。

节点对爬虫必须是可见的。Google 说明抓取基础架构会按 IP 归属识别 CDN,由 CDN 支持的站点可以获得更高的抓取率[3]。

反过来,如果把爬虫单独引回源站,这条判断就失效,边缘带来的好处也拿不到。

爬虫侧的结果可以核对。百度提供抓取诊断,展示 Baiduspider 取得的内容,页面源码与预期不一致时,就能判断问题出在节点还是别处[4]。

成本与维护代价

带宽和源站压力都会下降。节点就近生成并返回,源站不再为每个请求承担全部运算[2]。

运行环境有限制。节点上的运行时通常比完整服务器小,可用的接口和依赖库更少,部分 Node.js 模块不能直接用[1]。

回源仍然会发生。节点上没有缓存、或者数据必须取最新值时,请求还是要回到源站,距离带来的好处被抵消一部分[2]。

调试和观测也更难。问题可能只出现在某一个地区的节点上,本地复现不了。

适合的站点类型

访客分布广的站点收益最大。跨地区、跨国的站点,节点就近响应的差别最明显[2]。

内容需要按访客差异化的页面也适合。按地区显示不同的语言、货币或推荐内容时,在节点上生成比回源更快。

访客集中在一个地区时收益有限。此时选一个离访客近的机房,效果和边缘节点差不多,维护却更简单。

常见误用

  • 只在本地测速就上线,没有验证各地区的节点表现。
  • 把爬虫单独路由回源站,边缘带来的响应优势对抓取不起作用。
  • 在节点上跑重依赖的代码,运行时支持不了。
  • 缓存设置过粗,节点上长期返回旧页面。

附录

参见

参考资料

官方(境外)

  1. 《Rendering Modes》,Nuxt。
  2. 《What is edge computing?》,Cloudflare Learning Center。
  3. 《抓取 12 月:CDN 和抓取》,Google 搜索中心博客,2024-12-24。

官方(国内)

  1. 《平台工具使用手册(抓取诊断)》,百度搜索资源平台,2020-08-14 更新。

外部链接

无。