控制器和路由代码:用于处理用户请求并返回响应的控制器和路由代码。
数据库 *** 作代码:包括数据库连接和查询 *** 作的代码,例如使用PDO或MySQLi扩展来查询数据库。
模板代码:用于渲染视图的代码,例如使用Smarty、Twig或Blade等模板引擎。
第三方库和SDK的代码:包括用于连接到第三方服务(如支付网关、社交媒体平台)的库和SDK的代码。
工具类代码:包括各种辅助类和工具,例如加密、文件 *** 作、邮件发送等。
需要注意的是,随着项目的发展和变化,可能会涉及到其他类型的代码,例如JavaScript、CSS、HTML等前端代码,或者使用其他语言编写的后端代码(如Python、Ruby等)。php渲染叫做后端渲染(后端渲染不一定是php),ajax渲染叫做前端渲染(前端渲染也不一定是ajax)。
做后端的肯定会说后端渲染好,做前端的肯定会说前端渲染好,大家都是为了体现自己的价值。但凡事无绝对,应该根据适当的应用场景来决定渲染方式。
如果对SEO比较重视,则应当以后端渲染为主,因为搜索引擎是无法获取动态数据的。前端渲染的好处对于用户来说是在 *** 作数据的时候提升用户体验,对开发者来说则是在团队开发中可以做到前后端分离。但前端渲染需要多次调用接口来获取或 *** 作数据,这样就增加了服务器并发和网络负担。
所以,一般来说,以展示为主或单一数据 *** 作的,适合用后端渲染。以大量动态数据 *** 作为主的,适合前端渲染。首屏最好后端渲染,动态数据变化前端渲染。前端与后端最初的渲染方式是后端模板渲染,就是由后端使用模板引擎渲染好 html 后,返回给前端,前端再用 js 去 *** 作 dom 或者渲染其他动态的部分。这个过程大致分成以下几个步骤:
前端请求一个地址 url
后端接收到这个请求,然后根据请求信息,从数据库或者其他地方获取相应的数据
使用模板引擎(如 java > jsp、php > smarty)将这些数据渲染成 html
将 html 文本返回给前端
在这个过程中,前端的 html 代码需要嵌入到后端代码中(如 java、php),并且在很多情况下,前端源代码和后端源代码是在一个工程里的。
所以,不难看出,这种方式的有这样的几个不足:
前后端杂揉在一起,不方便本地开发、本地模拟调试,也不方便自动化测试
前端被约束在后端开发的模式中,不能充分使用前端的构建生态,开发效率低下
项目难以管理和维护,也可能会有前后端职责不清的问题
尽管如此,但因为这种方式是最早出现的方式,并且这种渲染方式有一个好处,就是前端能够快速呈现服务器端渲染好的页面,而不用等客户端渲染,这能够提供很好的用户体验与 SEO 友好,所以当下很多比较早的网站或者需要快速响应的展示性网站仍然是使用这种方式。
其实前后端渲染的选择,并没有太多关系到服务器的效率。而是多数网站需要权衡内容的可见性与功能性两者。
一、内容可见性
指的是让有效内容更容易被获取,因为多数网站是展现有效内容给用户,帮助公司或品牌产品得到更多的流量,这类网站涉及到SEO尤为重要,非常有必要为了让自己的内容更容易被索引且获得更好的排名而付出一些努力。因此此类网站不喜欢使用过多JS生成的内容,既所谓的前端渲染。因为这类页面不利于搜索引擎索引自己的页面,这样就很难通过有效内容从搜索引擎得到有效的引流。早期的网站,很多都是以呈现有效内容为主,很少用JS实现丰富的应用功能,因此比较多地关注关键字,内部链接,外部链接等等来提高网站的权值。以提供有效内容为主的网站,主要有静态,动态之分。静态以标准HTML为主,动态多由服务器根据请求生成SEO友好的内容。
两者对前端浏览来说没有太大的区别。主要是是服务器端的服务方式,如静态多以简单文件形式提供,动态诸如ASP,ASPX,CGI(不同的脚本),或者是高端语言的Web开发框架,实现是极其灵活丰富的。目的都是相同的,既提供更有效的内容给用户。至于效率,可以有多重优化方式,从来都不是开发上首要考虑到问题。
二、服务功能性
此类网站通常使用一个比较现代也比较高端的名称,既WebApp。其主要目的并非提供用户感兴趣的内容为主。网站更希望与用户可以有更多的交互,同过为用户提供一系列更为实用的应用功能,并从中获取反馈或回报。
这类网站的流行得益于多重技术都发展,首先是计算机处理速度有了更好的提升,CPU、GPU以及内存等不再是限制JS执行复杂功能的瓶颈;其次是以WebKit为内核的浏览器逐渐发展强大,并在Google的努力之下,Chromium得到了极大的发展,大大地推动了基于浏览器的WebApp的可用和可行性。一大批成功的基于浏览器的富应用被开发出来并取得巨大成功,使得JS比以往任何时候都更流行,让JS名副其实地成为Web Language。随后进一步发展的CSS3,HTML5,强化的JS组件,如WebSocket,Web Worker等等,让JS在浏览器端实现功能强大的富应用更得心应手。
总之,整个行业的发展使得网站不再是简单的靠内容提供而获取流量,提供有效的富应用功能可以让网站变得更加有价值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)