![](/zb_users/cache/tupian/1.gif)
大家好,今天小编关注到一个比较有意思的话题,就是关于html渲染页面原理的问题,于是小编就整理了2个相关介绍HTML渲染页面原理的解答,让我们一起看看吧。
为什么现在又流行服务端渲染html?
需要了解的一点是,时代在进步,现在的服务端渲染和过去的服务端渲染可以说是两码事,不能同日而语的啊!
以前的服务器的渲染,主打的是“文档”,以“文档”作为其核心的思想,就是把HTML,CSS,Javascript等当做是一个静态的定格的文件的形式,也不存在所谓的指令和数据的区别,对于“文档”的概念而言,万物皆是数据,比如说GET就是一个请求的文件,在比如像asp等都是把HTML文件放在占位符里,然后由服务端转化为实际的数据。
web 2.0时代最大的一项变革就是把网页当作是一种独立的应用程序,而并不是进行所谓的前后端分离。
那现在的服务器渲染又是什么意思呢?
自然不会走老路的,要知道虽然你总能在历史故事中找到一些相似性的东西,但并不意味着这种东西是重复性的发展,其实它是在历史的巨轮中螺旋上升的。
现在的服务器渲染有一个目的,<span style="font-weight: bold;">那就是为了加速和进行搜索引擎的一些优化而已,就像是给app截图的感觉,更像是一种“快照”,毕竟孱弱的爬虫已经无法满足日益发展的前端的进化速度了!
题主这个问题真是有点,额。
什么是服务端渲染?以前的php、jsp、.net做Web难道不都是服务端渲染好html再通过web server发送前端吗?
你说的服务端渲染难道是指由大前端而兴起的spa之类的吗?那也只是对seo有需求的才要通过服务端渲染好再发送给前端,没有seo需求的完全无所谓什么服务端渲染了。
这个问题的起点可以归结为大前端的崛起而兴起来的,其实也是有一定的需求场景导致的。
纯粹的前端渲染仅仅只是在原始状态下,我们使用新兴起来的mvvm设计模式框架来打造的站点结构,所有的编译,渲染时间几乎都是由浏览器来承担,所以相当于把很多的性能负担均摊给了用户,其实对于码农来说,这其实是一个比较好的方案。
但是由于前端的热门,大家在越来越多的应用,系统都渐渐使用前后端隔离,这种技术越来越多的使用起来。
那么摆在用户面前最直接的就是首屏,响应时间的感知,码农需要去解决不同浏览器上的渲染异常并且尽量让其更快,这个时候后端渲染就顺势而生了,它解决了这些比较头疼的问题,也更好的兼容了SEO。
不过现在各类前端框架都提供了自己的ssr支持,也有不少优秀的脚手架帮助大家一健部署ssr环境,所以按照应用需求的话适当转变业务为SSR也是不错的选择。
老妖想了半天,没发现现在又流行服务端渲染html啊?当然,不排除一些相对小众的语言或框架是服务器渲染html,但现在都是前后端分离的架构,前后端交流的只是json数据,根本不会传递html。细思一下,可能有一些站点比较在意在搜索引擎中的排名,所以会***用服务端直接[_a***_]html页面的方式。但这也不是主流啊。只是一种特殊应用而已。
渲染一词起源于游戏领域、3D设计领域,渲染的意义在于并不是简单地画一张画呈现在其他人面前,而以数据的形式保存物体的位置,颜色、法线、纹理、光照等,当有人需要查看的时候,就会重新再次准确地重现,重现的过程就是渲染。
渲染流程会接受使用定点描述3D物体的原始数据作为输入用于处理,再计算它的片段(fragment),片段就是一个个像素的3D投射,片段包含了位置、颜色、法线、纹理、光照等等,渲染好的像素输出到显示屏上。
页面渲染的本质就是浏览器将HTML文本转换成页面的过程。页面渲染大致需要走过下面几个步骤:
1、用户输入网址后浏览器请求服务器端得到一个HTML文本。
2、接着就到了HTML文本解析的过程了,先构建DOM树。如果遇到了内联样式、样式脚本,就需要下载并构建样式规则。如果遇到JavaScript脚本就会下载并执行。
3、DOM树、样式规则构建完后渲染进程就会将他们两合并成渲染树,然后渲染进程就会对渲染树进行布局,生产布局树。渲染进程对布局树进行绘制并生成绘制记录。
如何看待Google Docs将从HTML迁移到基于Canvas渲染?
Canvas也是HTML的一部分,应该是避开了基于DOM的渲染。这样的的原因是(1)性能,在原有框架下每个DOM节点需要执行事件的检测与传递;每个DOM节点需要满足布局规范;每个DOM节点需要满足渲染控制。(2)灵活性,基于Canvas理论上支持任意形状的按钮与任意布局。(3)在人力富余的前提下,尝试与验证新的技术路线。
到此,以上就是小编对于html渲染页面原理的问题就介绍到这了,希望介绍关于html渲染页面原理的2点解答对大家有用。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.fengdengtech.com/post/73580.html