目录

一、概念

1.1、什么是单页面应用(SPA)? 

概念:整个web项目只有一个页面,使用路由机制进行组件之间的切换;

优点:客户端渲染、数据传输量小、减少服务器端压力、交互/响应速度快、前后端完全分离;

缺点:首屏加载慢、对SEO不友好,不利于百度,360等搜索引擎收录快照;

1.2、什么是服务端渲染(SSR)?

概念:将组件或页面通过服务器端生成HTML字符串,再发送到浏览器端渲染;

优点:对于SEO友好、首屏加载速度快;

缺点:页面重复加载次数高、开发效率低、数据传输量大、服务器压力大;

1.3、SPA、SSR分别适合什么样的应用场景?

SPA:对项目性能要求高、页面加载速度快、要求客户端渲染、对SEO要求低;

SSR:对项目SEO要求高、首次打开响应速度快;

二、客户端渲染与服务端渲染本质的区别:

2.1、传输数据不同  (Chrome > 控制台 > Network > Preview > 查看传输内容)

客户端渲染:传递JSON对象、由浏览器渲染视图;

服务端渲染:传递完整HTML返回给浏览器渲染;

2.2、SEO优化问题(Chrome > 右击  > 检查网页源代码)

单页面应用:客户端渲染、源代码中无法获取到动态渲染的数据、不利于SEO爬虫

服务端渲染:首次渲染的html中携带所有服务器端返回的数据,原代码中包含所有数据,利于SEO优化;

------------本文完、项目搭建期待下次更新------------

SPA单页面应用和SSR服务端渲染的区别相关推荐

  1. react ssr php,一文吃透 React SSR 服务端渲染和同构原理

    全网最完整的 React SSR 同构技术原理解析与实践,从零开始手把手带你打造自己的同构应用开发骨架,帮助大家彻底深入理解服务端渲染及底层实现原理,学完本课程,你也可以打造自己的同构框架. 写在前面 ...

  2. React SSR: 基于 express 自构建 SSR 服务端渲染

    React SSR: 基于 express 自构建 SSR 服务端渲染 文章目录 React SSR: 基于 express 自构建 SSR 服务端渲染 完整代码示例 前情提要 构建 CSR 项目 项 ...

  3. Nuxt SSR 服务端渲染 详解

    Nuxt SSR 服务端渲染 详解 1.Nuxt项目构建 2.Nuxt的生命周期 2.1 nuxtServerInit 钩子 2.2 middleware 中间件 2.3 validate 数据校验 ...

  4. Vue2系列教程——SSR服务端渲染

    Vue2 SSR服务端渲染 概念:ssr(server side render)服务端渲染 优点: 有利于搜索引擎的SEO操作,由于搜索引擎爬取的是完全渲染出来的页面. 对于网络慢或运行慢的设备,可提 ...

  5. SSR 服务端渲染与 CSR 客户端渲染

    SSR 服务端渲染与 CSR 客户端渲染 SSR 服务端渲染 CSR 客户端渲染 本文要点: 介绍 SSR 服务端渲染概念.优点.缺点.案例及常用框架. 介绍 CSR 服务端渲染概念.优点.缺点. S ...

  6. 实现SSR服务端渲染

    前言 前段时间寻思做个个人网站,然后就立马行动了. 个人网站如何实现选择什么技术方案,自己可以自由决定. 刚好之前有大致想过服务端渲染,加载速度快,还有 SEO 挺适合个人网站的. 所以就自己造了个轮 ...

  7. react ssr 服务端渲染入门

    react ssr 服务端渲染入门 前言 前后端同构,作为针对单页应用 SEO 优化乏力.首屏速度瓶颈等问题而产出的解决方案,近来在 react.vue 等前端技术栈中都得到了支持.当我们正打算抛弃传 ...

  8. SSR服务端渲染(nuxt重构项目)

    SSR服务端渲染(nuxt重构项目) 目的:优化SEO,提高网站权重 ,页面静态化,强化搜索引擎,提高首屏渲染速度 参考文档:https://zh.nuxtjs.org/guide/installat ...

  9. 【SSR服务端渲染+CSR客户端渲染+post请求+get请求+总结】三种开启服务器的方法总结

    SSR服务端渲染 get请求方式 get.html文件 <form action="http://10.9.46.253:4002" target="_self&q ...

最新文章

  1. LuckyFrame V2.7.2 Beta 发布,一站式自动化测试平台
  2. C#正则表达式匹配字符串中的数字
  3. JasperReport和jFreeReport的比较
  4. 使用rsync实现数据实时同步备份--实战
  5. [小技巧]移除C/C++源码中无关的#ifdef
  6. html2Escape js 转义
  7. anaconda的简单使用教程(虚拟环境安装)
  8. YUV420数据格式
  9. 利用python语言实现分类算法_使用python实现kNN分类算法
  10. 《Face alignment at 3000 FPS via Regressing Local Binary Features》阅读笔记
  11. jsf服务_JSF dataTable示例
  12. C语言图书管理系统(链表、文件功能齐全)
  13. app小窗口悬浮工具_悬浮窗口大师
  14. VC++6.0下编译xvidcore1.1.0
  15. 如何在水经注会员中心购买流量下载地图
  16. EndNote X9破解之后遇到的问题
  17. Facebook账号注册需要注意什么?Facebook养号技巧?
  18. Openlayers:Polygon绘图工具
  19. 有什么合适个体商户及小微企业的入门级进销存管理软件?
  20. Android wifi 常见断开问题总结

热门文章

  1. 三星emcp型号详解_eMCP--eMMC,嵌入式存储应用解析【手机篇】
  2. 基于Vue+ElementUI实现的数据分析后台管理系统
  3. 用Python来验证一下天猫双十一数据造假?
  4. 蓝桥杯Python 自行车停放极简解法
  5. Mac安装hadoop伪分布式
  6. 路由器的功能及工作原理
  7. Access报表实现记账凭证打印
  8. grep 满足 或 排除多个关键字
  9. 迅为RK3588开发板单独编译Android固件
  10. 等保2.0 二级和三级安全设备拓扑图