JS面试题17-比较一下服务端渲染与客户端渲染

本文探讨了服务端渲染(SSR)和客户端渲染(CSR)的差异。SSR提供更快的首次加载时间,更好的SEO,以及在慢网络和设备上的优势,但可能增加代码复杂性。CSR则在页面交互和动画效果上有优势,但可能不利于SEO。两者各有适用场景,开发者应根据需求选择合适的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4afae18adc847e8123019608c74d4b4f.png

服务端渲染

服务端渲染(Server-Side Rendering,SSR)是指在服务器端生成完整的HTML页面并将其返回给浏览器,与传统的客户端渲染方式相反。

在传统的客户端渲染中,浏览器首先接收到一个空的HTML页面,在页面加载期间,浏览器使用JavaScript来动态生成页面内容。而在服务端渲染中,服务器端负责构建整个HTML页面,包括将数据和组件渲染为HTML,然后将整个HTML页面返回给浏览器。

服务端渲染的优势包括:

  1. 更快的首次加载时间:由于浏览器直接接收到完整的HTML页面,网页可以更快地呈现给用户。

  2. 更好的SEO:搜索引擎爬虫可以直接抓取到完整HTML页面的内容,不需要通过JavaScript解析。

  3. 更好的性能:对于复杂的应用程序,服务端渲染可以分担客户端的负载,减轻浏览器的负担,并提供更流畅的体验

  4. SSR 的响应性在服务端是不必要的,因为没有用户交互和 DOM 更新。为了更好的性能,默认情况下响应性在 SSR 期间是禁用的

  5. SSR 期间,只有 beforeCreatecreated 这两个生命周期钩子会被调用,其他像mountedupdated 这样的生命周期钩子不会在 SSR 期间被调用,而只会在客户端运行。因此,我们应该避免在 beforeCreate created 钩子中使用会产生副作用且需要被清理的代码

  6. SSR 适用于需要更快的到达时间的场景,优势在于慢网络和运行缓慢的设备场景。相比传统的 SPASSR 服务器渲染标记在服务端渲染 HTML 后即可显示,用户会更快的看到首屏渲染页面

  7. SSR 不适用于同构资源的处理。在使用三方 API 时必须保证运行不报错,需要特殊处理使其支持服务端和客户端都可运行。结合 Vue 的钩子来说,能在 SSR 中调用的生命周期只有 beforeCreatecreated

  8. VNode 是 Vue 中用来描

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值