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

一 网站建设的总体目标甜品网站建设方案

一 网站建设的总体目标,甜品网站建设方案,品牌网站建设联系方式,栖霞区住房和建设局网站面试【进阶】 —— 说下csr、ssr、ssg 的区别? 老码会被经常问到渲染问题:客户端渲染(CSR)、服务器端渲染(SSR)和静态站点生成(SSG)是三种常见的渲染方式。这里我们就对比下区别和适合场景&…

面试【进阶】 —— 说下csr、ssr、ssg 的区别?


老码会被经常问到渲染问题:客户端渲染(CSR)、服务器端渲染(SSR)和静态站点生成(SSG)是三种常见的渲染方式。这里我们就对比下区别和适合场景,以及优缺点;

在这里插入图片描述




一、csr、ssr、ssg 简介

✨1. 客户端渲染(CSR)

在这里插入图片描述

简介
客户端渲染,即Client-Side Rendering,是指在浏览器中执行JavaScript代码,动态生成页面内容。这种方式使得页面的初始加载速度可能较慢,因为需要等待JavaScript文件下载并执行完成后才能看到内容。然而,CSR在交互性和动态更新方面具有显著优势,适合需要频繁用户交互的单页应用(SPA)。

实现案例
以Vue.js为例,一个简单的客户端渲染应用可能如下:

<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Vue CSR Example</title>
</head>
<body><div id="app">{{ message }}</div><script src="https://cdn.jsdelivr.net/npm/vue@2"></script><script>new Vue({el: '#app',data: {message: 'Hello, Client-Side Rendering!'}});</script>
</body>
</html>

面试回答

  • CSR的优势在于交互性和动态更新,适合SPA。
  • 缺点是首屏加载速度较慢,因为需要等待JavaScript执行。
  • 实现上,通常是通过前端框架(如Vue、React)在浏览器中动态生成内容。

✨2. 服务器端渲染(SSR)

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/08cb419a2fbb4ce7a408dbb428c79003.png

简介
服务器端渲染,即Server-Side Rendering,是指在服务器端生成HTML内容,并将其直接发送到客户端浏览器。这种方式可以加快首屏加载速度,因为浏览器接收到的是已经渲染好的HTML,无需再执行JavaScript来生成内容。SSR对于SEO也非常友好。

实现案例
以Vue.js和Express为例,一个简单的服务器端渲染应用可能如下:

// server.js
const express = require('express');
const { createBundleRenderer } = require('vue-server-renderer');
const server = express();const renderer = createBundleRenderer(require('./path/to/vue-ssr-server-bundle.json'), {runInNewContext: false,template: require('fs').readFileSync('./index.template.html', 'utf-8'),clientManifest: require('./path/to/vue-ssr-client-manifest.json')
});server.get('*', (req, res) => {const context = { url: req.url };renderer.renderToString(context, (err, html) => {if (err) {res.status(500).end('Internal Server Error');} else {res.end(html);}});
});server.listen(8080, () => {console.log('Server started at http://localhost:8080');
});

(注:此代码需要预先构建好的Vue SSR服务器包和客户端清单文件,具体构建过程可参考Vue官方文档。)

面试回答

  • SSR的优势在于加快首屏加载速度和提升SEO。
  • 缺点是服务器压力较大,因为每次请求都需要进行渲染。
  • 实现上,通常是通过后端框架(如Express)和前端框架(如Vue)的配合,在服务器端生成HTML内容。

✨3. 静态站点生成(SSG)

简介
静态站点生成,即Static Site Generation,是在构建时生成静态HTML文件,并在用户请求时直接提供这些文件。这种方式结合了CSR和SSR的优点,既具有快速的加载速度,又无需在每次请求时都进行服务器端渲染。SSG适合内容不经常变化且对加载速度有较高要求的网站。

实现案例
以Gatsby(一个基于React的静态站点生成器)为例,一个简单的静态站点可能如下:

(注:由于Gatsby项目的完整设置需要一些配置和依赖安装,这里仅给出大致步骤和思路。)

  1. 安装Gatsby CLI:npm install -g gatsby-cli
  2. 创建一个新的Gatsby项目:gatsby new my-static-site
  3. 进入项目目录并启动开发服务器:cd my-static-site && gatsby develop
  4. src/pages目录下创建页面文件,如index.js,并编写React组件。
  5. 构建静态文件:gatsby build
  6. 部署生成的静态文件到服务器或静态网站托管服务。

面试回答

  • SSG的优势在于结合了CSR和SSR的优点,具有快速的加载速度和无需服务器渲染。
  • 缺点是适合内容不经常变化的网站,对于动态内容较多的网站可能不太适用。
  • 实现上,通常是通过静态站点生成器(如Gatsby、Next.js的SSG模式)在构建时生成静态HTML文件。

二、ssr 适合哪种业务场景

SSR因其独特的优势,特别适合以下几种业务场景:

  1. SEO 【搜索引擎优化】友好型网站:对于需要搜索引擎爬虫能够轻松抓取和索引内容的网站,SSR是一个理想的选择。
  2. 首屏加载速度要求高的应用:对于用户体验至关重要的应用,如电商网站、新闻网站等,SSR可以显著加快首屏加载速度。
  3. 社交内容分享:当用户分享网页到社交媒体平台时,SSR可以确保分享的内容是服务器生成的完整HTML。






三、Vue 对 SSR 的支持力度


Vue.js对SSR提供了强大的支持。Vue的官方文档和社区都提供了丰富的资源和工具来帮助开发者实现SSR。如上文所示的Vue SSR实现案例,就是利用了Vue官方提供的vue-server-renderer模块来完成的。此外,Vue还提供了Nuxt.js这个框架,进一步简化了Vue SSR的开发过程。



四、给伙伴们整理好的对比表格



渲染方式SSG(静态站点生成)CSR(客户端渲染)SSR(服务器端渲染)
渲染时机构建时(✓ 绿色表示预先生成)客户端加载时(✓ 蓝色表示实时生成)每次请求时(✓ 橙色表示按需生成)
内容更新需要重新构建和部署只需更新后端数据,客户端自动获取可能需要服务器重新渲染,但可缓存优化
SEO友好性(✓ 静态内容易被抓取)中-低(✓ 依赖JavaScript渲染,可能影响抓取)(✓ 每次请求都生成HTML,易被抓取)
首屏加载时间(✓ 静态文件直接提供)可能较慢(✓ 需要下载和执行JavaScript)可优化(✓ 可通过缓存等技术优化)
交互性有限(✓ 静态页面,交互需依赖JavaScript)(✓ 客户端动态生成,交互性强)(✓ 服务器端可处理复杂逻辑,交互性强)
服务器负担(✓ 只需提供静态文件)(✓ 服务器处理API请求)(✓ 每次请求都需服务器渲染)(可通过缓存减轻)
开发复杂度(✓ 需要构建工具,但逻辑相对简单)(✓ 需要处理客户端逻辑、状态管理等)中-高(✓ 需要处理服务器端和客户端逻辑)

最后

通过以上内容,相信大家对CSR、SSR和SSG有了更深入的了解。在面试中,可以根据具体的问题和场景,结合本文所述的内容和实例代码进行回答。希望本文能对大家有所帮助!


在这里插入图片描述


文章转载自:

http://kGkDdetM.ktcrr.cn
http://PJmxnpmk.ktcrr.cn
http://dz013t8u.ktcrr.cn
http://fR9dvj64.ktcrr.cn
http://2ZFvDcCf.ktcrr.cn
http://7d0wV2v4.ktcrr.cn
http://i3RM4QwD.ktcrr.cn
http://COhsgW29.ktcrr.cn
http://SjXpLv9r.ktcrr.cn
http://iX0V71YM.ktcrr.cn
http://hmkemrzQ.ktcrr.cn
http://T8irTktb.ktcrr.cn
http://xeU7RVQ1.ktcrr.cn
http://2yaZGSu6.ktcrr.cn
http://gA6Tpbd8.ktcrr.cn
http://wmAYz35f.ktcrr.cn
http://fHkzsEVa.ktcrr.cn
http://gwpa6qJm.ktcrr.cn
http://2iOXAxzr.ktcrr.cn
http://6xmPJXoy.ktcrr.cn
http://fzgkwFQt.ktcrr.cn
http://C0Vjtqse.ktcrr.cn
http://fE2W9w60.ktcrr.cn
http://gKOotePy.ktcrr.cn
http://u71i4FkQ.ktcrr.cn
http://OOg2ShdA.ktcrr.cn
http://N3bQanQb.ktcrr.cn
http://vFIarxHN.ktcrr.cn
http://SsneEALk.ktcrr.cn
http://moMAcuma.ktcrr.cn
http://www.dtcms.com/wzjs/674075.html

相关文章:

  • 怎么进行网站维护广州市建设厅网站首页
  • 为什么有些网站更新的信息看不到做鞋子出口需要作网站吗
  • 山西自助建站费用低最好看免费观看高清大全英雄联盟
  • 企业网站怎么做才能留住客户自己建网站流程要学什么
  • 做网站收费 知乎做直播导航网站好
  • 家庭农场做网站的好处企业网站收录
  • 网页设计与网站建设的理解宿迁房价最新价格表
  • 沈阳网站建设建设公司昆山做网站公司有哪些
  • 建设银行网站会员2022电商平台哪个值得做
  • 重庆点优定制网站建设网站建设kpi考核
  • 一个云主机可以做多少网站陕西省建设工程招投标信息网官网
  • 网站建设费入如保入账东莞莞城建筑工程有限公司
  • 网站建设数据录入我要找工作 招聘附近
  • 建站之星视频手机网站建站教育模板
  • 德州金航网络公司网站建设网站建设进度表模板下载
  • 玉林市住房和城乡建设局网站云建站网址
  • 郑州营销型网站公司电话响应式网站开发支持ie6解决
  • 建设网站哪个便宜wordpress 地图
  • 哪个网站可以找人做清洁如何提高网站的收录
  • 文秘写作网站网站建设说课获奖视频
  • 怎么做脱机网站什么是电子商务网站建设的基本要求
  • 免费的推文制作网站如何创建自己的网站平台
  • 腾讯风铃做的网站有期限吗营业执照注册流程
  • 网站做整合页面社交营销
  • 成立公司怎么做网站手机网站幻灯片
  • 做电商网站用什么软件开发广州网站案例展示
  • 电子商务网站建设价格网站添加站长统计代码
  • 阳光保险官方网站青岛住房和城乡建设部网站
  • 网站增加流量贵阳网络推广公司哪家强
  • 购物商城网站开发深圳营销型网站公司