美文网首页
SSR介绍-1: 什么是SSR?

SSR介绍-1: 什么是SSR?

作者: miao8862 | 来源:发表于2021-04-10 23:59 被阅读0次

什么是SSR?

SSR是服务端渲染:在后台将vue实例渲染为HTML字符串直接返回,在前端激活为交互程序。

传统的服务端渲染

实现原理:

  1. 客户端发送请求给服务器
  2. 服务器查询数据库,使用视图、模板引擎等拼接成html字符串,返回给客户端
  3. 客户端渲染html

优点:

  1. 网页内容在服务器端渲染完成,一次性传输到浏览器,所以首屏加载速度非常快
  2. 有利于SEO,因为服务器返回的是一个完整的html,在浏览器可以看到完整的dom,对于爬虫、百度搜索等引擎就比较友好

缺点:

  1. 在后续跳转其它链接时,整个页面还要重复这样的操作,不断地请求响应、请求响应,相对来说,消耗的带宽资源、后续请求的时间就多了

单页应用SPA

单页应用其优秀的用户体验,使其逐渐成为主流,页面内容由js渲染出来,这种方式称为客户端渲染。它的过程是:

  1. 客户端发送请求给服务器
  2. 服务器返回html,但这时的html只有基本的结构(比如vue中,只有app这个div结构),没有其他具体的dom结构
  3. 客户端渲染html,渲染执行js(比如vuejs),渲染模板template,这时候会再向服务器发送请求,请求具体的数据
  4. 服务器查询数据库,返回对应的数据
  5. 客户端渲染显示

缺点:

  1. 网速很慢的时候,它的首屏等待时间较长
  2. SEO不友好,暴露给搜索引擎只有最基本的html结构(比如:<div id="app"></div>)

现在流行的服务端渲染SSR

它是传统的服务端渲染和单页应用的一种折中的解决方案:后端渲染出完整的dom结构返回,前端拿到的内容包括:首屏及完整spa结构,应用激活后依然按照spa方式运行,这种页面渲染方式被称为服务端渲染(server side render),它的过程是:

  1. 客户端发送请求给服务器
  2. 服务器读取模板,解析成dom节点,返回一个完整的首屏html结构
  3. 客户端进行首屏激活(把用户写的交互的代码,在前端激活,重新变成一个spa应用)
  4. 这样后续,用户再点击超链接、跳转时,不会再向服务器发送请求了,而是使用前端路由跳转,只会发送一些ajax请求数据

优点:

  • SEO友好
  • 首屏加载快

缺点:

  • 开发逻辑复杂
  • 开发条件限制:比如一些生命周期不能用,一些第三方库也可能不能用
  • 服务器负载大

如何做技术选型?

  1. 是不是对SEO有要求?
  2. 是不是要求首屏快?
  3. 服务器负载是否能承受?

如果以上问题都是肯定的答案,那么可以考虑怎么做SSR:

  1. 对于已经存在SPA项目,要改造成SSR,可以优先考虑有没有替代方案:

    • 需要SEO的页面是不是只有少数的几个营销页面,是否可以考虑使用预渲染来替代SSR
    • 确实要做SSR改造的,可不可以利用服务器爬虫技术puppeteer来替代
    • 实在不行了,考虑原生的SSR重构了
  2. 对于全新项目

    • 可以使用nuxt.js来实现SSR

相关文章

  • SSR介绍-1: 什么是SSR?

    什么是SSR? SSR是服务端渲染:在后台将vue实例渲染为HTML字符串直接返回,在前端激活为交互程序。 传统的...

  • 走近SSR

    1、什么是SSR ? SSR 就是持续的无声的阅读,即sustained silent reading . SSR...

  • VUE SSR

    VUE SSR 官方文档: Vue SSR 指南 一、什么是SSR, 为什么要做SSR 什么是SSRVue.js ...

  • 详解Vue SSR服务端渲染

    Vue SSR介绍[https://ssr.vuejs.org/zh/] SSR Github Demo[http...

  • 使用 Vue SSR 渲染一个 Vue 实例

    Vue SSR 介绍 官方文档:https://ssr.vuejs.org/[https://ssr.vuejs....

  • SSR服务端渲染

    什么是SSR?,SSR有什么用? 服务端渲染(Server Side Render,简称“SSR”),服务器端直接...

  • SSR、CSR、

    1.什么是SSR和CSR  SSR(Server Side Rendering,服务端渲染),指的是页面在服务器...

  • Linux 配置代理

    软件要求 SSR Proxychains4 准备工作 SSR 获取ssr脚本 赋予ssr脚本可执行权限 将ssr放...

  • SSR介绍-2: 传统SSR实现

    此篇文章将结合vue来简单介绍如何实现传统的SSR,为后续实现现今流行的SSR打个基础。参考vue ssr官网:h...

  • 如何使用Vue.js进行服务器端渲染(SSR)?

    首先,文章的目的;我们为什么需要SSR方法,为什么在何处使用SSR,SSR和CSR有何区别?我们将通过示例巩固我们...

网友评论

      本文标题:SSR介绍-1: 什么是SSR?

      本文链接:https://www.haomeiwen.com/subject/wpwbkltx.html