首页 > 其他分享 >SSR还是CSR?看完就懂怎么选了!

SSR还是CSR?看完就懂怎么选了!

时间:2024-12-01 09:02:16浏览次数:7  
标签:怎么 渲染 JavaScript SSR HTML 服务器 CSR

SSR还是CSR?看完就懂怎么选了!

前言

大家好,我是倔强青铜三。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。

Web 开发在过去十年中经历了巨大的变革,导致了不同的 Web 应用渲染策略。其中最受欢迎的方法是服务器端渲染(SSR)和客户端渲染(CSR)。选择正确的渲染策略可以显著影响您的应用性能、用户体验和可维护性。

在这篇博客中,我们将深入探讨 SSR 和 CSR 之间的差异,探索它们的优势和劣势,并提供见解,帮助您决定哪种方法最适合您的项目。

什么是服务器端渲染(SSR)?

服务器端渲染是在将网页发送到浏览器之前在服务器上渲染的过程。服务器使用模板语言或框架动态生成页面的 HTML。一旦 HTML 发送到浏览器,页面就会立即显示给用户。

SSR 如何工作:

  1. 用户通过导航到网页发送请求。
  2. 服务器处理请求并生成完全渲染的 HTML 响应。
  3. 浏览器接收并显示 HTML。
  4. 可选:加载 JavaScript 以启用页面上的交互元素(水合)。

SSR 的优势:

  • 更快的初始加载:因为服务器提供了完全渲染的 HTML 页面,用户可以更快地看到内容。
  • 搜索引擎优化友好:搜索引擎可以更有效地爬取完全渲染的 HTML,提高网站的排名。
  • 通用可访问性:即使对于禁用 JavaScript 或使用慢速设备的用户,页面也能正确渲染。

SSR 的劣势:

  • 增加服务器负载:服务器必须处理每个请求的渲染,这可能会增加 CPU 使用率和响应时间。
  • 交互性较慢:页面可能很快渲染,但交互元素可能要等到 JavaScript 加载和水合后才能工作。

流行的 SSR 框架:

  • Next.js (React)
  • Nuxt.js (Vue.js)
  • ASP.NET MVC
  • Ruby on Rails

什么是客户端渲染(CSR)?

客户端渲染则涉及在浏览器中使用 JavaScript 完全渲染网页。服务器发送一个最小的 HTML 文件和 JavaScript 包,该包在用户的设备上动态渲染内容。

CSR 如何工作:

  1. 用户向服务器发送请求。
  2. 服务器响应一个最小的 HTML 文件和一个 JavaScript 包。
  3. 浏览器下载 JavaScript 并执行它以生成 HTML 并显示内容。

CSR 的优势:

  • 丰富的交互性:CSR 应用提供无缝的用户体验,具有动态的、类似应用的行为。
  • 减少服务器负载:浏览器处理大部分渲染,减轻服务器的压力。
  • 更好的可扩展性:静态资源(HTML 和 JS 包)可以通过 CDN 服务。

CSR 的劣势:

  • 初始加载较慢:用户在 JavaScript 下载和执行时会看到一个空白屏幕或加载指示器。
  • 搜索引擎优化挑战:搜索引擎可能难以索引依赖于 JavaScript 渲染的内容(尽管现代解决方案如预渲染可以缓解这个问题)。
  • 设备依赖性:渲染发生在客户端,这可能对低性能设备造成负担。

流行的 CSR 框架:

  • React
  • Angular
  • Vue.js
  • Svelte

SSR 与 CSR:并排比较

SSR 与 CSR:并排比较

何时使用 SSR

  • 搜索引擎优化重的应用:博客、电子商务网站或任何需要强大搜索引擎优化性能的应用。
  • 内容驱动的网站:新闻网站或平台,具有动态、频繁更新的内容。
  • 低端设备:如果您的目标受众使用旧的或功能较弱的设备,SSR 可以帮助提供更好的体验。

示例用例:

一个拥有数千个产品页面的在线商店从 SSR 中受益,因为页面加载速度快,并且在搜索引擎中排名更好。

何时使用 CSR

  • 单页应用(SPA):具有动态用户交互的应用,如仪表板、社交媒体平台或电子邮件客户端。
  • 移动优先应用:旨在提供最小重新加载的类似应用的体验的应用。
  • 丰富的交互性:对于实时更新和动态内容,CSR 通常是最佳选择。

示例用例:

一个用于分析和监控的 SaaS 仪表板,其中实时更新和高度交互的 UI 是必不可少的。

新兴的混合方法

现代 Web 框架现在提供了结合 SSR 和 CSR 最佳特性的混合解决方案:

  • 静态站点生成(SSG):在构建时预渲染页面,以实现快速加载速度(例如,Next.js 或 Gatsby)。
  • 增量静态再生(ISR):按需更新静态页面,减少服务器负载,同时提供新鲜内容。
  • 服务器组件:在 React 等框架中,服务器组件允许在服务器端渲染应用的某些部分,而保持其余部分在客户端。

结论

SSR 和 CSR 都有其独特的优势和劣势,正确的选择取决于您的应用需求:

  • 如果您优先考虑搜索引擎优化、快速的初始页面加载或服务于内容繁重的应用,请使用 SSR。
  • 对于 SPA 或高度交互的应用,且服务器依赖性最小,请使用 CSR。

然而,SSG 和 ISR 等混合方法可以帮助弥合差距,提供性能和交互性,同时最小化缺点。作为开发人员,在选择合适的渲染策略时,请考虑您的目标受众、用例和性能目标。

标签:怎么,渲染,JavaScript,SSR,HTML,服务器,CSR
From: https://blog.csdn.net/2301_79969095/article/details/144162507

相关文章

  • html5怎么判断app是否安装?
    HTML5本身无法直接判断app是否安装。你需要借助一些技巧和变通方法,以下是几种常见的方案:UniversalLinks/AppLinks(推荐方案):这是目前推荐的最佳方案,它利用了操作系统级别的关联,能够更可靠地判断应用是否安装,并在安装的情况下直接打开应用,未安装的情况下则跳转到指定的......
  • 【Halcon】使用均值滤波出现假边怎么办?
            在图像处理过程中,均值滤波是一种常见的平滑技术,用于减少图像中的噪声。然而,当应用于具有显著边缘或对比度变化的图像时,均值滤波可能会导致“假边”现象,即原本不存在的边缘在滤波后变得明显。以下是如何在Halcon中处理这一问题,并提供一个完整的示例代码。示例......
  • 大模型推理和训练所占用的显存怎么估算?
    大模型推理和训练所占用的显存怎么估算?原创 安泰Rolling AI有温度 2024年11月14日00:00 上海AI因你而升温,记得加个星标哦!在当前开源大模型中,我们可以观察到一个普遍的现象:开源可下载模型的参数规模都集中在7B、13B、65B等特定的数值上,那这种现象背后有着怎样的原因呢......
  • 电脑内存爆红重复文件太多怎么办?3个重复文件删除方法
    日常工作中,我们使用电脑的时间长了,都会累积大量好的文件,这其中难免会出现重复文件。这些重复文件不仅占用了电脑磁盘空间,还会降低电脑性能。因此,我们必须定期对重复文件查找出来并清理删除掉,那要怎么对重复文件进行查找并清理呢?今天小编就给大家分享几个文件去重方法,都是一些比......
  • C#里怎么样使用Array.BinarySearch函数?
    C#里怎么样使用Array.BinarySearch函数?因为二分算法如此重要,所以要多加练习。但是它的返回值,也有三种状态,导致很多人使用它的时候,也感觉到迷惑的。在这里的例子演示了三种返回值的使用: /**C#ProgramtoSearchanelementwithArrayIndices*/usingSystem;c......
  • PbootCMS授权码怎么申请
    PbootCMS的授权较为简单,登录网站可以免费获取永久授权码免费授权说明:1、获取域名授权码永久免费,并且永久有效;2、授权码不需要联网验证,官方服务器故障不会影响使用本系统的任何网站;3、对本系统授权码离线验证机制有疑问的,可以自行断网测试网站运行情况;4、获取授权码时请输入......
  • 网站里面的h5怎么修改,H5页面内容更新方法
    H5页面(HTML5页面)的修改通常涉及以下几个步骤:定位文件:找到包含H5页面的文件。这些文件通常位于网站的根目录或特定的子目录中,文件扩展名为.html或.htm。编辑工具:使用文本编辑器(如SublimeText、VSCode、Notepad++等)打开H5文件。修改内容:根据需要修改HTML代码。常见的修改包括:......
  • 怎么修改公司的网站首页,如何在网站后台或代码中修改公司网站首页
    修改公司网站首页可以提升网站的专业性和用户体验。以下是具体步骤:登录后台:如果网站有后台管理系统,使用管理员账号登录。在后台左侧菜单栏中选择“内容”->“页面”或“模板管理”。找到需要修改的首页,点击“编辑”。修改内容:在编辑页面中,修改文本内容、图片、视频......
  • bose开放式耳机怎么样?南卡、BOSE 、Oladance三款开放式耳机深度横评实测
    作为有着数十年经验的骨灰级音乐发烧友,音乐的品质一直是我最为追求和看重的,就我自己而言,数十年间投入在音乐设备上的钱都够三四线城市买套小独居了,然而在面对一些新设备时也会仔细地斟酌测评。不过,对于很多想要入手一款耳机又图省事的小白,我奉劝一句:如果你还没有重视耳机挑......
  • Mac OS 15苹方字体不可用,怎么办?
    缘由今天使用macword写文档发现选苹方字体后变成乱码了...解决办法①打开Spotlight搜索:字体册①在字体册搜索:苹方,并点击下载对应的字体下载完变成黑色(可用)了:打开系统设置:首先,打开您的macOS系统设置。调整语言顺序:在系统设置中搜索“语言”,然后......