服务端渲染(Server-Side Rendering,简称 SSR)是指在服务器端生成 HTML 内容,并将其发送到客户端(通常是浏览器),而不是在客户端(浏览器)上由 JavaScript 动态生成 HTML 内容。SSR 使得网页的初始渲染更快,并且对搜索引擎优化(SEO)更友好,因为搜索引擎能够直接抓取到渲染好的 HTML。
服务端渲染的工作原理
- 请求网页:当用户请求一个网页时,浏览器向服务器发起请求。
- 服务器渲染:服务器收到请求后,会执行相应的代码,生成 HTML 内容。
- 返回 HTML:服务器将渲染好的 HTML 发送给客户端(浏览器)。
- 客户端加载:浏览器加载并显示 HTML 页面。
- 客户端交互:客户端会加载 JavaScript,激活页面上的交互功能(比如按钮点击、表单提交等),这些行为通过客户端 JavaScript 来控制。
SSR 的优点
- 更快的首屏加载:由于 HTML 内容已经在服务器端渲染好,浏览器无需等待 JavaScript 执行完成就可以显示页面,提高了用户首次访问的速度。
- 更好的 SEO:搜索引擎爬虫能够直接抓取到完整的 HTML 内容,而不需要等待 JavaScript 渲染,这对提高网站的搜索引擎排名非常有利。
- 改善用户体验:对于低性能设备或较慢的网络环境,SSR 能够显著提升页面的加载速度和响应能力。
SSR 的缺点
- 服务器负担较重:每次用户请求时,服务器都需要重新生成页面,这可能增加服务器的负载,尤其是在流量较大的情况下。
- 延迟问题:虽然页面可以快速渲染,但由于每次都需要从服务器请求 HTML 内容,相比于客户端渲染,可能会出现一些延迟。
- 交互性能较差:初始页面渲染后,仍然需要执行客户端 JavaScript 才能启用页面的交互功能,可能导致页面在首次加载后有一段“空白期”。
一、安装使用 npx nuxi@latest init 项目名
二、安装依赖 npm i
三、启动项目npm run dev
nuxt内置服务端nuxt nitro (使用他来执行渲染并将渲染内容返回)
四、在nuxt.config.ts中,配置。