服务端渲染SSR

本文探讨了服务端渲染(SSR)的优势,如SEO提升和更快的内容显示,但也指出其缺点,如增加服务器压力和开发复杂性。介绍了在Vue和React中实现SSR的方法,以及需要注意的要点,如DOM操作限制和性能优化。

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

概念

        简单来说就是用户第一次请求页面时,页面上的内容是通过服务器端渲染生成的,浏览器直接显示服务端返回的完整html就可以,加快首屏显示速度。

优缺点

        优点:

  1. 更好的seo:页面服务端渲染返回给客户端的是已经获取了异步数据并执行JavaScript脚本的最终HTML,网络爬虫就可以抓取到完整页面的信息。现在比较常用的交互是页面初始展示 loading 菊花图,然后通过异步请求获取内容,但是但抓取工具并不会等待异步完成后再行抓取页面内容。
  2. 内容到达更快:不用等待所有的 js 都完成下载并执行,所以用户会更快速地看到完整渲染的页面。

        缺点:

  1. 服务端压力较大,服务器渲染应用程序,尤其是高并发访问的情况,会大量占用服务端CPU资源。
  2. 开发成本比较高,除了对webpack、Vue要熟悉,还需要掌握node、Express相关技术。相对于客户端渲染,项目构建、部署过程更加复杂。

注意点

  1. 在服务端只能执行生命周期中的created和beforeCreate,原因是在服务端是无法操纵dom的,所以可想而知其他的周期也就是不能执行的了。
  2. 服务端渲染和客户端渲染不同,需要创建两个entry分别跑在服务端和客户端,并且需要webpack对其分别打包;
  3. SSR服务端请求不带cookie,需要手动拿到浏览器的cookie传给服务端的请求。实现方式戳这里 。
  4. SSR要求dom结构规范,因为浏览器会自动给HTML添加一些结构比如tbody,但是客户端进行混淆服务端放回的HTML时,不会添加这些标签,导致混淆后的HTML和浏览器渲染的HTML不匹配。
  5. 性能问题需要多加关注。vue.mixin、axios拦截请求使用不当,会内存泄漏。ru-cache向内存中缓存数据,需要合理缓存改动不频繁的资源。
    具体实现看这里

针对不同前端框架方案

vue
    运行在node环境下
        Nuxt.js
react
    运行在node环境下
        Next.js

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值