• 单页面和多页面开发的区别


    单页面和多页面开发的区别

    一、总结

    一句话总结:

    单页面:单页面应用(SPA),通俗一点说就是指只有一个主页面的应用,浏览器一开始要加载所有必须的 html, js, css。所有的页面内容都包含在这个所谓的主页面中。
    多页面:每一次页面跳转的时候,后台服务器都会给返回一个新的html文档,这种类型的网站也就是多页网站,也叫做多页应用

    1、单页面渲染和 普通的html 渲染有什么区别?

    单页应用的内容都是靠js渲染生成出来的,搜索引擎不识别这部分内容

    两者最直观的区别就是:一个 搜索引擎认识,一个搜索引擎不认识

    2、为什么多页应用相对于单页面应用的首屏时间快?

    多页面只需要请求那个需要的html


    单页面:单页应用的首屏时间慢,首屏时需要请求一次html,同时还要发送一次js请求,两次请求回来了,首屏才会展示出来。相对于多页应用,首屏时间慢。
    多页面:首屏时间叫做页面首个屏幕的内容展现的时间,当我们访问页面的时候,服务器返回一个html,页面就会展示出来,这个过程只经历了一个HTTP请求,所以页面展示的速度非常快。

    3、为什么多页面应用相对于单页面应用的搜索引擎优化效果好(SEO)?

    搜索引擎只认识html里的内容,不认识js的内容,而单页应用的内容都是靠js渲染生成出来的


    多页面:搜索引擎在做网页排名的时候,要根据网页内容才能给网页权重,来进行网页的排名。搜索引擎是可以识别html内容的,而我们每个页面所有的内容都放在Html中,所以这种多页应用,seo排名效果好、
    单页面:因为搜索引擎只认识html里的内容,不认识js的内容,而单页应用的内容都是靠js渲染生成出来的,搜索引擎不识别这部分内容,也就不会给一个好的排名,会导致单页应用做出来的网页在百度和谷歌上的排名差。

    4、单页面和多页面的优缺点分别是什么?

    多页面优点:首屏时间快,SEO效果好
    单页面优点:页面切换快

    5、为什么多页面应用相对于单页面应用的页面切换速度慢?

    多页面切换页面的时候每次都需要请求http

    多页面:页面切换慢( 因为每次跳转都需要发出一个http请求,如果网络比较慢,在页面之间来回跳转时,就会发现明显的卡顿。)
    单页面:页面每次切换跳转时,并不需要做html文件的请求,这样就节约了很多http发送时延,我们在切换页面的时候速度很快。

    二、单页面和多页面开发的区别

    转自或参考:单页面和多页面开发的区别
    https://www.cnblogs.com/Leslie-Cheung1584304774/p/10529908.html

    一、多页应用
    1. 每一次页面跳转的时候,后台服务器都会给返回一个新的html文档,这种类型的网站也就是多页网站,也叫做多页应用
    2.优点:首屏时间快,SEO效果好
    缺点:页面切换慢( 因为每次跳转都需要发出一个http请求,如果网络比较慢,在页面之间来回跳转时,就会发现明显的卡顿。)
    3. 为什么多页应用的首屏时间快?
    首屏时间叫做页面首个屏幕的内容展现的时间,当我们访问页面的时候,服务器返回一个html,页面就会展示出来,这个过程只经历了一个HTTP请求,所以页面展示的速度非常快。
    4. 为什么搜索引擎优化效果好(SEO)?
    搜索引擎在做网页排名的时候,要根据网页内容才能给网页权重,来进行网页的排名。搜索引擎是可以识别html内容的,而我们每个页面所有的内容都放在Html中,所以这种多页应用,seo排名效果好
    二、 单页应用
    1. 第一次进入页面的时候会请求一个html文件,刷新清除一下。切换到其他组件,此时路径也相应变化,但是并没有新的html文件请求,页面内容也变化了。
    2.原理是:JS会感知到url的变化,通过这一点,可以用js动态的将当前页面的内容清除掉,然后将下一个页面的内容挂载到当前页面上,这个时候的路由不是后端来做了,而是前端来做,判断页面到底是显示哪个组件,清除不需要的,显示需要的组件。这种过程就是单页应用,每次跳转的时候不需要再请求html文件了。
    3.优点:页面切换快
    页面每次切换跳转时,并不需要做html文件的请求,这样就节约了很多http发送时延,我们在切换页面的时候速度很快。
    4.缺点: 首屏时间慢,SEO差
    单页应用的首屏时间慢,首屏时需要请求一次html,同时还要发送一次js请求,两次请求回来了,首屏才会展示出来。相对于多页应用,首屏时间慢。
    SEO效果差,因为搜索引擎只认识html里的内容,不认识js的内容,而单页应用的内容都是靠js渲染生成出来的,搜索引擎不识别这部分内容,也就不会给一个好的排名,会导致单页应用做出来的网页在百度和谷歌上的排名差。
     
     
     

    三、传统的DOM是如何进行渲染的?以及单页面开发与多页面开发的优缺点。

    转自或参考:传统的DOM是如何进行渲染的?以及单页面开发与多页面开发的优缺点。
    https://www.cnblogs.com/Fairy-Tail-blogs/p/10867341.html

    分为三种:纯后端渲染,纯前端渲染,服务端的js渲染结合前端渲染。

    纯后端渲染

    纯后端的DOM渲染,DOM树的生成完全是在后端服务器中完成的,相当于后端服务器的程序会把各种的数据拼成一个DOM树,并转换成一个字节流作为HTTP Response的body返回给浏览器。

    纯前端渲染

    纯前端渲染可以解决纯后端渲染中出现的各种体验问题。纯前端渲染把DOM生成的主题逻辑都放在了前端,这时后端只会返回一个框架的DOM结构,比如只带一个容器元素的的DOM,然后由js代码把页面的主题渲染到这个容器元素中。

    服务端的js渲染结合前端渲染

    主要是把前两个阶段中,一些交给纯后端DOM渲染逻辑分离的不好,但是交给纯前端DOM渲染又会造成较高延迟的部分单独分离出来形成了一独立DOM渲染阶段,保留的代码中天然的展示层和数据层的分离,又把API请求的累计延迟减少了很多,从SEO角度来说渲染结果对搜索引擎也很友好。当然,这样的做法需要给整体的架构增加一个独立的单元,给开发和部署都带来了更高复杂性。

    单页面应用(SPA),通俗一点说就是指只有一个主页面的应用,浏览器一开始要加载所有必须的 html, js, css。所有的页面内容都包含在这个所谓的主页面中。但在写的时候,还是会分开写(页面片段),然后在交互的时候由路由程序动态载入,单页面的页面跳转,仅刷新局部资源。多应用于pc端。

      

      多页面(MPA),就是指一个应用中有多个页面,页面跳转时是整页刷新

    单页面的优点:

    1,用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小

    2,前后端分离

    3,页面效果会比较炫酷(比如切换页面内容时的专场动画)

    单页面缺点:

    1,不利于seo

    2,导航不可用,如果一定要导航需要自行实现前进、后退。(由于是单页面不能用浏览器的前进后退功能,所以需要自己建立堆栈管理)

    3,初次加载时耗时多

    4,页面复杂度提高很多

  • 相关阅读:
    [C#][Newtonsoft.Json] Newtonsoft.Json 序列化时的一些其它用法
    [C#] 获取计算机内部信息
    [Bug] 解决 Sql Server 数据库死锁问题
    Visual Studio提示“无法启动IIS Express Web服务器”的解决方法
    [svn] TortoiseSVN 图文操作
    [js] 如何 在 jQuery 中的 $.each 循环中使用 break 和 continue
    Redis 小白指南(三)- 事务、过期、消息通知、管道和优化内存空间
    Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合
    Redis 小白指南(一)- 简介、安装、GUI 和 C# 驱动介绍
    Redis 小白指南(四)- 数据的持久化保存(草稿)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11934566.html
Copyright © 2020-2023  润新知