当前位置:首页 > PHP文摘 > 列表

为什么现在又流行服务端渲染html?

发布:smiling 来源: PHP粉丝网  添加日期:2022-08-10 19:40:37 浏览: 评论:0 

我认为服务端渲染只是未来两年内的妥协。

等5G来了,首屏加载速度区别不大,应该会缩短到1秒内。

未来百度迟早会支持JS解析后的SEO,这个谷歌早已实现。

服务端渲染是为了SEO和首屏秒出,为了这个妥协的太多了,组件生命周期变更、服务端负载上升、部署比静态麻烦、还需要一个nodejs做中间层。所以当社会环境允许的情况下,SPA开发起来会轻松很多。

网友二:

老妖想了半天,没发现现在又流行服务端渲染html啊?当然,不排除一些相对小众的语言或框架是服务器渲染html,但现在都是前后端分离的架构,前后端交流的只是json数据,根本不会传递html。细思一下,可能有一些站点比较在意在搜索引擎中的排名,所以会采用服务端直接生成html页面的方式。但这也不是主流啊。只是一种特殊应用而已。

网友三:

我不知道题主是怎么感觉后端渲染变成成主流的,我个人是觉得前端渲染应该是趋势。分析一下各自的优缺点

前后分离的优点

1.更好划分职责

现在很多公司都分前后端,特别是移动互联网网兴起之后,连中小公司都分开两个团队了,前后端通过API解耦,职责清晰好管理

2.减轻服务器压力

现在的客户机性能跟以前比大大提高了,不管是移动设备还是台式机,所以前端渲染html 那也不是事

3.减少流量

html 可能只需要传输一个模板,或者单页应用只需要传输一次。在5G还未到来,以及应用上云的背景下不仅能提高一点点速度还能省一点点云的流量费

缺点

1.对Seo 不友好,但是这个早晚搜索引擎都会实现js引擎的爬虫

2.对恶意抓取友好

如果竞争对手抓取你的数据,以前要分析你的html,并且可能同一数据不同范围的值html 也不一样,但是现在只有抓取你的api 返回的数据,直接反序列化,并且api比html来的稳定。

这个就需要更深的反爬技术来应对

3.对于某些页面比如首页,不会经常变,但却要求快速呈现的页面,在网速不成问题的前提下,前端渲染可能不如后端渲染然后缓存来的快。所以现在前端针对这种情况会搭自己的后端服务器,比如nodejs 来处理。

从优缺点以及可解决的办法看,前端渲染还是趋势。

网友四:

现在的服务端渲染和过去的服务端渲染完全是两码事。什么叫“又流行”?说明看问题太浅薄。

以前的服务器渲染,是以“文档”为核心思想的。服务器端的逻辑是把HTML, CSS, Javascript当作一个静态文件,对“文档”而言不存在“指令”和“数据”的区别,一切都是数据。所以我们可以看到服务器渲染,GET就是请求一个文件,而web 1.0时代的诸多服务端框架最基础的组件之一就是文档模版,比如asp, JSP之类,核心设计理念就是HTML文件里放占位符然后由服务端逻辑替换成实际数据后一股脑返回。

现在划重点:Web 2.0时代最大的思想革命本质不是前后端分离,而是把网页当作独立的应用程序(app)。前后端分离只是实现这一新架构的必然结果。对程序员而言指令和数据是分离的。HTTP GET拿到的不是渲染后的网页,而是一个由html和Javascript组成的app, 这个app以浏览器为虚拟机。装载和显示数据是app启动之后的运行逻辑。传统上app叫什么?叫Client,也就是前端。于是前后端就这么分离了,浏览器变成了app的运行环境,后端蜕化成了单纯的业务逻辑和数据接口。写Javascript不再是给网页添特效的小伎俩,而是正经的和写桌面应用程序一样的工程。于是我们看到了前端工程化,编译(转译),各种MVC/MVVM框架,依赖工具,等等。很新鲜吗?不新鲜,都是传统桌面开发玩剩下的。我很早就说过,前端NodeJS的那堆东西,什么npm,Babel,Webpack,gulp,各个框架的cli... 本质上就是开源社区东拼西凑做一个Visual Studio。

那么现在怎么叫“又流行”服务端渲染了?走老路吗?当然不可能,模版式的服务端编程早就进了垃圾堆。我们公司的后端实现甚至都不加载HTML模版引擎,进出的数据都是JSON(HTML/Javascript内容怎么办?单独编译,然后部署到S3上)现在的服务器渲染的目的只是为了加速和搜索引擎优化(准确的说是非Google引擎优化,因为Google可以解析Javascript动态网页)。而实现也很简单:拿个浏览器核心跑一下app然后把生成的html存起来给搜索爬虫就行了。与其说是渲染,不如说是“快照”,就像给app截图一样。

历史是螺旋上升的,有相似性但更重要的是进步。

网友五:

服务端渲染不了HTML,服务端只能是动态生成HTML。

区别只是现在流行前后端分离而已。把动态生成前端的处理,和api调用的处理,分成了两个应用。这样前后端可以分别独立发布、独立部署、可以采用不同的开发技术。

比如:前端可以部署在公网上,并启用cdn加速。后端可以部署在内网中,提高安全性。并且后端可以根据业务和负载情况,进一步切分成多个集群,或微服务化。

网友六:

现在流行前后段分离,现阶段前端热门框架都是支持

个人认为最关键的有两点

首屏短暂空白的问题,这个主要看应用对用户体验度的要求有没有到这个程度。

支持seo,这对于某些靠搜索增加曝光度的to c应用是至关重要的。

网友七:

现在的服务端渲染不同于过去。

现在越来越流行单页应用,服务端渲染可以解决爬虫无法识别js的问题,其次可以加速用户首屏渲染速度。

主要问题是解决爬虫识别,不过现在搜索引擎已经没有那么重要了。所以服务端渲染对于大多数应用并没有那么大的吸引力。

网友八:

能写点人话吗?让我们外行看得懂

打比方举例淘宝 用户在浏览器看的就是前端

首页哪些位置 要显示搜索 推荐 图片 一级链接

怎么布局 配色 前端程序员做个这样模板要自动生成的地方放个变量标识

后端管理界面 上传图片 添加分类等自动生成前端页面

业务逻辑: 用户登录 选择商品 提交订单 生成价格 支付 返回结果等等功能逻辑后端来做

订单返回界面长什么样由前端做 页面在结果的位置放个变量 是成功不成功功能由后端根据逻辑给出。

网友九:

SSR吧,虽然是服务器上渲染的,但是属于前端范畴,使用大前端相关技术,而不是像以前前后端不分,做的是跟ui交互相关的工作,在分工专业性上是有区分的。为了追求更好的用户体验,是有必要突破技术界限,用更多手段去实现的。所以前端也并不简单。

Tags: 服务端渲染html

分享到: