前端面试题-服务端渲染SSR

前端面试题-服务端渲染SSR,第1张

我最开始接触是在Vue的官网上,开始是作为一个小节出现,现在已经是个专门的大章节来专门讲Vue服务端渲染的内容。

服务端渲染 简单来说就是在服务器上把数据和模板拼接好以后发送给客户端显示。

回顾下前端的 历史 ,最开始的站点是简单的静态网站。后端大哥把html文件推送给用户,用户浏览器解析这些字符串进行显示。那个时候就是 服务端渲染 。可是后来由于网站内容越来越复杂、特效越来越炫酷,这种‘兼职’状态已经不能满足需求,细分之下的前端出现了。

随后为了方便的开发,开始提倡 前后端分离,大家各做各的,彼此之间通过基于>

静态页面,即静态网页,是实际存在的,无需经过服务器的编译,直接加载到客户浏览器上显示出来。

在静态Web程序中,客户端使用Web浏览器经过网络连接到服务器上,使用>

通过Web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。

扩展资料:

通常静态页面的制作流程是这样的:

1,发布信息到数据库

2,选择页面的模版

3,程序读取模版 +数据库信息 = 静态页面

4,发布索引页面(如首页,引导页等)

与动态网页的区别:静态网页和动态网页的主要区别在于在服务器上是否运行程序,运行在客户端的程序、页面等等都是静态页面,它们是一直不变的。

参考资料来源:百度百科-静态网页

您好,我是“web秀-提供专业的web前端技术知识”。

如果是简单的博客,并且没有打算购买服务器的话,个人推荐:Hexo

Hexo是什么?

hexo可以理解为是基于

nodejs

制作的一个博客工具hexo正常来说,不需要部署到我们的服务器上,我们的服务器上保存的,其实是基于在hexo通过markdown编写的文章,然后hexo帮我们生成静态的html页面,然后,将生成的html上传到我们的服务器。简而言之:hexo是个静态页面生成、上传的工具。hexo可以直接将代码托管到git上面,所以并不需要你来提供服务器。

官方提供的模板是也是有很多种

如果你的想法远不止次,还有更复杂的功能,我推荐你使用:WordPress

WordPress

WordPress是php写的,网络上有非常多的模板,多种多样。这个必须要服务器或者主机,还需要数据库的,所有 *** 作都是和数据库结合的。

服务端渲染 :DOM树在服务端生成,然后返回给前端。

客户端渲染 (SSR):前端去后端取数据生成DOM树。

服务端渲染的优点

1、尽量不占用前端的资源,前端这块耗时少,速度快。

2、有利于SEO优化,因为在后端有完整的html页面,所以爬虫更容易爬取信息。

服务端渲染的缺点

1、不利于前后端分离,开发的效率降低了。

2、对html的解析,对前端来说加快了速度,但是加大了服务器的压力。

客户端渲染的优点

1、前后端分离,开发效率高。

2、用户体验更好,我们将网站做成SPA(单页面应用)或者部分内容做成SPA,当用户点击时,不会形成频繁的跳转。

客户端渲染的缺点

1、前端响应速度慢,特别是首屏,这样用户是受不了的。

2、不利于SEO优化,因为爬虫不认识SPA,所以它只是记录了一个页面。

服务端和客户端渲染的区别

1、二者本质的区别:是谁来完成了html的完整拼接,服务端渲染是在服务端生成DOM树,客户端渲染是在客户端生成DOM树。

2、响应速度:服务端渲染会加快页面的响应速度,客户端渲染页面的响应速度慢。

3、SEO优化:服务端渲染因为是多个页面,更有利于爬虫爬取信息,客户端渲染不利于SEO优化。

4、开发效率:服务端渲染逻辑分离的不好,不利于前后端分离,开发效率低,客户端渲染是采用前后端分离的方式开发,效率更高,也是大部分业务采取的渲染方式。

直观的区分服务端渲染和客户端渲染:

源码里如果能找到前端页面中的内容文字,那就是在服务端构建的DOM,就是服务端渲染,反之是客户端渲染。

应该使用服务端渲染还是客户端渲染:

我们要根据业务场景去选择渲染的方式。

如果是企业级网站,主要功能是页面展示,它没有复杂的交互,并且需要良好的SEO,那我们应该使用服务端渲染。

如果是后台管理页面,交互性很强,它不需要考虑到SEO,那我们应该使用客户端渲染。

具体使用哪种渲染方式也不是绝对的,现在很多网站使用 服务端渲染和客户端渲染结合 的方式:首屏使用服务端渲染,其他页面使用客户端渲染。这样可以保证首屏的加载速度,也完成了前后端分离。

VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。

每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。

事实上,一个 VuePress 网站是一个由 Vue、Vue Router和 webpack驱动的单页应用。如果你以前使用过 Vue 的话,当你在开发一个自定义主题的时候,你会感受到非常熟悉的开发体验,你甚至可以使用 Vue DevTools 去调试你的自定义主题。

在构建时,我们会为应用创建一个服务端渲染(SSR)的版本,然后通过虚拟访问每一条路径来渲染对应的HTML。这种做法的灵感来源于 Nuxt (opens new window)的 nuxt generate 命令,以及其他的一些项目,比如 Gatsby

1、创建并进入一个新目录

2、使用你喜欢的包管理器进行初始化

3、将 VuePress 安装为本地依赖

我们已经不再推荐全局安装 VuePress

4、创建你的第一篇文档

5、在 packagejson 中添加一些 scripts

这一步骤是可选的,但我们推荐你完成它。在下文中,我们会默认这些 scripts 已经被添加。

6、在本地启动服务器

VuePress 会在 >

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12950505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存