服务器端渲染定义:服务器端呈现是指应用程序在服务器上显示网页而不是在浏览器中呈现网页的能力。当网站的 JavaScript 在网站的服务器上呈现时,完整呈现的页面会发送到客户端,并且客户端的 JavaScript 包会参与并启用单页应用程序框架来运行。
常见问题
一、什么是服务器端渲染?
服务器端呈现 (SSR) 是应用程序将服务器上的 HTML 文件转换为客户端完全呈现的 HTML 页面的能力。Web 浏览器向服务器提交信息请求,服务器通过向客户端发送完全呈现的页面来立即做出响应。搜索引擎可以在交付之前对内容进行爬网和索引,这有利于搜索引擎优化目的。
服务器端渲染 JavaScript 框架的流行示例包括:Angular 服务器端渲染、ejs 服务器端渲染、Express 服务器端渲染、Gatsby 服务器端渲染、Google 服务器端渲染、NestJS 服务器端渲染、Next 服务器端渲染、Nuxt 服务器端渲染、React 服务端渲染和 Vue 服务端渲染。
二、服务器端渲染的好处是什么?
一些服务器端渲染优势包括:
- 服务器端呈现的应用程序使页面加载速度更快,从而改善用户体验。
- 在服务端渲染时,搜索引擎可以轻松索引和抓取内容,因为内容可以在页面加载之前进行渲染,非常适合 SEO。
- 网页被正确索引,因为网络浏览器优先考虑加载时间更快的网页。
- 渲染服务器端有助于为互联网连接缓慢或设备过时的用户有效加载网页。
三、服务器端渲染的风险是什么?
服务器端渲染的缺点可能包括:
- 服务器端渲染可能成本高昂且资源密集,因为它不是 JavaScript 网站的默认设置,并且服务器承担了为用户和机器人渲染内容的全部负担。
- 虽然在服务器端渲染静态 HTML 是高效的,但在服务器端渲染更大、更复杂的应用程序可能会由于瓶颈而增加加载时间。
- 服务器端呈现可能与第三方 JavaScript 代码不兼容。
- 渲染服务器端可能是静态站点生成的理想选择,但频繁的服务器请求和整页重新加载可能会导致更复杂的应用程序中的整体页面渲染速度变慢。
服务器端渲染与客户端渲染
在客户端-服务器呈现中,不是从 HTML 文档接收所有内容,而是使用客户端 JavaScript 库在浏览器中呈现内容。加载新页面时,浏览器不会向服务器发出新请求。搜索引擎排名可能会受到负面影响,因为在页面加载到浏览器之前不会呈现内容,但是,在客户端呈现的应用程序中,网站呈现往往更快。在考虑服务器端与客户端渲染时,开发人员将评估项目规模、应用程序的复杂性、用户数量和用户体验优先级等因素。