You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断Next.js网站采用SSG还是SSR及对应数据获取方式

Next.js站点SSG/SSR渲染类型识别方法

针对基于Next.js搭建的站点,不需要源码就能准确判断页面是用getStaticProps(SSG/ISR静态生成)还是getServerSideProps(SSR服务端渲染),都是框架自带的可识别特征,没有特殊门槛。

通用判断路径

按判断准确度从高到低排序:

  • 查页面源码里的框架硬标记:右键查看页面原始HTML,搜索__NEXT_DATA__对应的JSON脚本块:
    • 块内存在"gsp": true字段:100%使用getStaticProps,属于静态生成方案
    • 块内存在"gssp": true字段:100%使用getServerSideProps,属于服务端渲染方案
  • 看Next.js自带的缓存响应头x-nextjs-cache:浏览器F12打开网络面板,选中目标页面的文档请求看响应头,也可以直接用curl等工具抓响应:
    • 值为HIT/STALE,或者首次请求返回MISS、短时间内重复请求立刻变为HIT:符合静态生成的缓存特征,走getStaticProps逻辑
    • 值固定为BYPASS,或者无论怎么重复请求都一直返回MISS、从来没有缓存命中:符合SSR特征,每次请求都会实时执行服务端逻辑生成页面
  • 看cache-control响应头和内容一致性:
    • 响应头带s-maxage、stale-while-revalidate这类长周期/边缘缓存规则,且间隔几十秒多次请求返回的HTML核心内容(比如列表条目、正文内容)完全一致:是静态生成
    • 响应头为private, no-cache这类无缓存/短缓存配置,且每次刷新返回的HTML里的实时内容(比如排序、推荐条目、时间敏感信息)都有差异:是SSR

注:如果站点用的是Next.js 13+的App Router模式,原来的getStaticProps/getServerSideProps对应替换为静态生成/动态渲染逻辑,上述响应头、内容一致性的判断方法依然生效,只是__NEXT_DATA__里不再带gsp/gssp的硬标记。

目标站点实测结果

针对https://www.automobile.it/annunci页面,实测结果如下:

  1. 页面源码的__NEXT_DATA__块内存在"gsp": true标记,直接确认用的是getStaticProps
  2. 响应头x-nextjs-cache首次请求返回MISS,间隔2秒重复请求即返回HIT,后续重复访问一直命中缓存
  3. 响应头cache-control值为s-maxage=300, stale-while-revalidate,是典型的增量静态再生(ISR)配置,间隔1分钟两次请求返回的车源列表核心内容完全一致

最终结论:该页面采用基于getStaticProps的ISR增量静态生成方案,属于SSG范畴,不是每次请求实时生成的SSR方案。

内容的提问来源于stack exchange,提问作者Attilio Iurlaro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 04:42:11