前后端渲染页面的区别?

我们都知道模板都是需要渲染的,最近在使用react,它是后端渲染的,而angular是前端渲染的。要弄清前后端渲染的区别,先来看看浏览器在完整展示一个页面前做了哪些工作:

        ① 加载:根据请求的URL进行域名解析,向服务器发起请求,接收文件(HTML、JS、CSS、图象等)

② 解析:从html解析出DOM tree,解析css产生css规则树(计算css样式),js,通过DOM api和Css api操作DOM tree和CSS ruletree。

③ 渲染:解析完成后,浏览器引擎会通过DOM tree和CSS RuleTree来构造Rendering tree(渲染树)(不包含Header等不需要显示的东西),也      就是将CSS rule加到每一个DOM结点上(或者叫做Frame)。定位坐标和大小,是否换行等。

④ 绘制:最后调用操作系统的Native GUI的API绘制。

前后端渲染的区别:

前端渲染:

指的是后端返回json数据,前端利用预先写的html模板,循环读取json数据,拼接字符串,并插入页面。

好处:网络传输数据量小。不占用服务端运算资源(解析模板),模板在前端(很有可能仅部分在前端),改结构变交互都前端自己来了,改完自己调就行。

坏处:前端耗时较多。占用(一部分、少部分)客户端运算资源(解析模板)。前端代码多点,毕竟包含模板代码了么。

后端渲染:

前端请求,后端用后台模板引擎直接生成htm,前端接受到数据之后,直接插入页面。

好处:前端耗时少,即减少了首屏时间,模板统一在后端。前端(相对)省事,不占用客户端运算资源(解析模板)

坏处:占用服务器资源。

    


  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值