当前位置: 首页 > java >正文

WHAT - SSR vs SSG vs ISR

文章目录

  • 1. SSR(Server-Side Rendering)服务器端渲染
    • 说明
    • 特点
    • 使用场景
  • 2. SSG(Static Site Generation)静态站点生成
    • 说明
    • 特点
    • 使用场景
  • 3. ISR(Incremental Static Regeneration)增量静态生成(Next.js 独有)
    • 说明
    • 特点:
    • 使用场景
  • 对比总结

在 WHAT - 前端同构 Isomorphic Javascript 中我们已经介绍过前端同构技术,其中提到了 SSR、SSV、ISR。今天我们主要来学习一下这三类技术场景。

这三个是现代前端中非常重要的渲染策略,尤其在像 Next.js 这样的同构框架中常见:

1. SSR(Server-Side Rendering)服务器端渲染

说明

每次用户请求页面时,服务器都会实时运行代码,生成 HTML,然后返回给浏览器。

特点

  • HTML 是实时生成的
  • 支持动态数据
  • 首屏加载快、SEO 好
  • 每次请求都会占用服务器资源

使用场景

  • 页面内容频繁变化,如:用户个性化页面、后台管理系统、动态文章详情页

2. SSG(Static Site Generation)静态站点生成

说明

在构建(build)时,系统提前把所有页面生成成静态 HTML 文件,部署时直接访问这些文件。

特点

  • 生成一次,访问多次,访问速度极快
  • 几乎不占用服务器资源
  • 内容不能实时更新,更新需要重新构建部署

使用场景

  • 内容稳定的页面,如:博客、文档、营销页、公司官网

3. ISR(Incremental Static Regeneration)增量静态生成(Next.js 独有)

说明

结合了 SSG 和 SSR 的优点,在构建后支持“按需更新”某些页面。某页面在后台静默再生成,不影响用户访问。

特点:

  • 初次构建使用 SSG,访问快
  • 后台静默更新,不阻塞用户
  • 页面可定时/按需更新

使用场景

  • 类似新闻、商品详情页等,大部分内容稳定,偶尔更新

对比总结

特性SSRSSGISR (Next.js)
构建时生成✅(首次)
每次请求✅ 实时生成❌(后台更新)
动态内容支持
性能中(视服务器性能)高(静态)高(静态 + 智能更新)
SEO

如果你在用 Next.js,可以通过以下方式选择:

// SSR
export async function getServerSideProps() {return { props: { data: ... } }
}// SSG
export async function getStaticProps() {return { props: { data: ... } }
}// ISR(在 SSG 中加 revalidate)
export async function getStaticProps() {return {props: { data: ... },revalidate: 60, // 每隔 60 秒后台更新一次}
}
http://www.xdnf.cn/news/6741.html

相关文章:

  • STL学习
  • python报错:使用json.dumps()时,报错type xxx is not json serializable错误原因及解决方案
  • 反转链表链表数据结构oj题(206)
  • Spring MVC 中请求处理流程及核心组件解析
  • 2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛) 解题报告 | 珂学家
  • React中useMemo和useCallback的作用:
  • 人工智能-状态空间-猴子摘香蕉
  • 从零实现一个高并发内存池 - 4
  • 中级网络工程师知识点3
  • 城市排水管网流量监测系统解决方案
  • HC32L190 串口驱动
  • [ linux-系统 ] 命令行参数 | 环境变量
  • 数据库--向量化基础
  • C++跨平台开发:突破不同平台的技术密码
  • 从硬件角度理解“Linux下一切皆文件“,详解用户级缓冲区
  • 增量学习:机器学习领域中的资源高效利用秘籍
  • HTTPS 加密原理
  • 编译原理概述
  • 将three.js场景保存成图片
  • IEEE PRMVAI 2025 IEEE PRMVAI 探索人工智能在基础设施建设应用与运维中的新挑战
  • 某某建筑市场监管公共服务平台|数据解密—逆向分析
  • rocketmq 环境配置[python]
  • 记录算法笔记(2025.5.15)将有序数组转换为二叉搜索树
  • unity之导入本地packages包
  • 【云实验】搭建个人网盘实验
  • OSM路网简化文档+实操视频讲解(道路中心线提取、拓扑检查,学术论文处理方式)11
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(22):复习
  • AI基础知识(04):技术支柱、核心概念、开发工具、学习路径、伦理与挑战
  • python中常用的参数以及命名规范
  • Python - 爬虫;Scrapy框架之items,Pipeline管道持久化存储(二)