您的位置首页生活百科

SSG和SSR有什么区别?

SSG和SSR有什么区别?

的有关信息介绍如下:

SSG和SSR有什么区别?

首先你要了解SSG和SSR是什么,服务端渲染 SSR 与静态网站渲染 SSG

SSR(Server Side Render) 是指服务端渲染,当客户端向服务器发出请求,然后运行时动态生成 html 内容并返回给客户端。

SSG(Static Site Generation) 是静态站点生成,解析是在构建时执行的,当发出请求时,html 将静态存储,直接发送回客户端。

通常来说,静态站点在运行时会更快,因为不需要服务端做处理,但缺点是对数据的任何更改都需要在服务端进行完全重建;而服务端渲染则会动态处理数据,不需要进行完全重建。

这两种方式对SEO会更好,至于你要实现论坛功能,跟这两个有什么关系?可以说几乎不搭边。

刚好我也要重新弄下自己的博客网站,最近也在选型上考虑了一些问题。先来回答下SSR和SSG的区别吧。

这里我放上我用nuxt.js生成的SSR网站然你感受下速度,优化的好的话即使服务器在国外速度也能达到秒开,之后等nuxt.js 3正式版出来后打算改成SSG。

SSR(Server Side Render) 服务器端渲染 ,你可以把这个和PHP类比,当你请求一个页面或者数据提交的时候,服务器程序会生成Page的HTML代码,然后浏览器就会渲染这个HTML页面。就是普通的B/S模式了其实,只是SSR是在服务器端与浏览器端都会负责渲染。

出现这个的目的就是有人说SPA渲染太慢了,在服务器数据没有获取的时候整个页面是空白的,用户体验太糟糕了。所以有人就把原来的服务器端生成代码又搞回来了,我现在服务器端生成一部分HTML代码,让你能够看到一些内容,总不至于显示空白,剩下的部分就跟SPA一样,局部获取数据渲染。

SSG(Static Site Generation) 是静态站点生成 ,这个就更简单了,直接输出静态的HTML文件,你只需要有一台Web服务器就可以了,不需要安装什么Nodejs等运行环境,这种是最安全的,因为服务器上压根不会去跑什么程序,所以服务器的漏洞只有服务器操作系统本身,维护也是最方便的。

究竟是选择SSR还是SSG呢?那就跟你的应用要求和手边的资源有关系了。

像你说要做一个论坛网站,那就需要用户上传数据,这就要后台运行时环境了,那么首先想到的就是SSR了,但是!先别急着下结论,其实SSG也可以实现哦!只是操作起来相对麻烦些。

因为我不想在继续用阿里云服务器,每年花个1000多就挂一个静态网站,实在是不划算,但是我还需要我的网站有留言功能,那该怎么办呢?SSG是没有运行时环境的,那只能用另外的办法了,可以使用severless来实现留言功能,或者将留言功能托管到第三方平台来使用。

具体的方案我现在还没有敲定,但是我可以先告诉你我初步的SSG方案。

页面使用nuxt.js生成纯静态页面

使用github作为CMS数据库,同时用github作为留言平台功能,

最后服务器部署到vercel上面,这样就可以实现完全免费的搭建个人博客了!

最后再补充一下SSR的一个很严重的缺点,但是开发者认为是feature的迷惑操作,那就是SSR模式下为了实现数据无缝加载,会把数据全部都暴露在HTML文件的末尾