网站开发的发展(后端路由/前后端分离/前端路由)

embedded/2024/10/9 6:21:58/

1.后端路由阶段

在早期的网站开发中 网页的渲染工作其实是交由服务器完成的 所以该渲染也被称之为后端渲染

具体的过程就是:浏览器发送url给服务器 服务器解析该url 使用后端路由(在服务器中 用于储存url和页面映射关系的路由)获取指定url对应的页面 然后交由jsp去处理该页面(包括html+css+java/php 其中java/php用于从数据库中获取数据并动态展示到页面中)并渲染该页面(由于渲染操作发生在后端 所以也称之为后端渲染) 最终返回给浏览器展示

但是后端路由存在着一些缺点:
① 整个页面的前后端都是由后端人员编写和维护的 代码量庞大
前端人员如果想要开发该阶段的页面的话 必须掌握java/php等后端语言
③通常情况下 该阶段的页面是由html和java混合组成的 编写和维护难度很大
在这里插入图片描述

2.前后端分离阶段

该阶段主要是将前后端彻底剥离开来 能够达到各司其职、分工明确的目的 让后端人员专注于数据 而前端人员专注于页面的可视化和交互 使得开发效率大幅提升

主要的一个流程就是:浏览器发送url向静态资源服务器中请求页面(html+css+js) 由浏览器解析html+css并渲染为页面 然后运行js代码(其中通过ajax调用api获取服务器中的数据)并渲染到页面中
在这里插入图片描述
当移动端出现以后 他获取的数据依然是通过和网页端一致的api调用获取的 后端不需要进行任何额外的处理

该模式目前很多网站仍然在采用

3.前端路由阶段

该阶段也可以被称之为SPA(single page application)阶段 即单页面富应用阶段(一套html+css+js 但是整合了多个网页 主要是分离js/vue组件 而复用html/css 因为一个vue文件对应一个网页 而多个网页会整合到js中) 可以理解为前后端分离阶段的基础上 内置了前端路由的阶段(前后端分离阶段的静态资源服务器中主要是一个网页对应一套html+css+js 而该阶段则是一个网站的所有网页对应一套html+css+js)

而其中肯定存在根据不同网页url从同一套html+css+js中剥离出独有的部分进行执行渲染的机制 即前端路由(储存着url和vue组件的映射关系) 并且每一次url的变化并不像后端路由那样需要重新发送请求 前端路由会事先将整一套html+css+js下载到浏览器中 然后监听url变化根据映射表中的关系去进行渲染 不需要重新发送url请求
在这里插入图片描述


http://www.ppmy.cn/embedded/124919.html

相关文章

精品WordPress主题/响应式个人博客主题Kratos

Kratos 是一款专注于用户阅读体验的响应式 WordPress 主题,整体布局简洁大方,针对资源加载进行了优化。 Kratos主题基于Bootstrap和Font Awesome的WordPress一个干净,简单且响应迅速的博客主题,Vtrois创建和维护, 主…

代码随想录算法训练营| 669. 修剪二叉搜索树 、 108.将有序数组转换为二叉搜索树 、 538.把二叉搜索树转换为累加树

669. 修剪二叉搜索树 题目 参考文章 思路:这题其实就是删除不符合上下边界的节点。注意:这里删除不符合上下边界节点时,这个不符合上下边界的节点的左或右子树可能存在符合上下边界的节点,所i有每次比较完之后,要继…

自动驾驶系列—线控系统:驱动自动驾驶的核心技术解读与应用指南

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

项目-坦克大战学习-游戏结束

当boos受到伤害时游戏结束,游戏结束时我们需要将窗体全部绘制从别的画面,这样我们可以在游戏运行类中的update设置条件,在游戏运行类thread创建一个枚举类型定义是否游戏结束 public enum Game { play, over };//定义现在游戏运行状态 如果…

爱心曲线公式大全

local r a*((math.sin(angle) * math.sqrt(math.abs(math.cos(angle)))) / (math.sin(angle) 1.4142) - 2 * math.sin(angle) 2) local x r * math.cos(angle) -- 计算对应的x值 local z r * math.sin(angle) 1.5*a - --曲线公式绘画 local function generateParabola()…

Vulkan进阶系列0 - Raytracing 基础

一:概述 Vulkan 的光线追踪是一种现代图形技术,用于实现更加逼真的高质量渲染效果。通过使用Vulkan的光线追踪扩展:VK_KHR_ray_tracing_pipeline 和 VK_KHR_acceleration_structure, 程序员可以更加高效的模拟光线的传播,反射和折射,并能够跟踪光线在场景中的传播路径,计…

PHP数组

一.定义数组 通过在方括号内指定键名来给数组赋值,其代码格式如下: $arr[$key] value 其中,$arr为数组名;$key为键名,其类型为整型或字符串;value为值,可以为任意数据类型。 1.索引数组:定义…

鹏哥C语言71---逻辑操作符+条件操作符+逗号操作符

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> //--------------------------------------------------------------------------------------------8. 逻辑操作符 // && 逻辑与 &#xff08;全真则真&#xff0c;一假则假…