什么是路由?
路由就是处理映射关系的。简单来说,例如我们要记录他人的联系方式,我们可以拿出一个本子,写上对方的名字,并且在后面跟上对方的手机号码,这样我们就可以根据人名找到对应的电话号码了,这就是映射关系。路由中也储存这类似的映射关系,只不过内容不同罢了。
什么是前后端分离?
ajax的出现,让前端可以获取到后端的数据,通过数据来渲染页面。后端只需要负责数据库的管理,而前端只需要负责页面以及用户的交互即可。
什么是前端渲染?什么是后端渲染?
后端渲染:页面是在服务器直接生成好的,当用户输入url时,会把生成好的页面放到浏览器上。
前端渲染:页面通过ajax像服务器获取数据,利用js动态地渲染到页面上,显示在浏览器上。
什么是前端路由?什么是后端路由?
后端路由:用户输入的url,是从服务器获取对应的页面,由后端来处理页面和url的映射关系,所以叫后端路由。
前端路由:用户输入的url,由前端通过js获取对应的页面,不再像服务器发送请求来获取,由前端来处理两者的映射关系,所以叫做前端路由。
网站的发展历程
- 后端阶段
最开始的时候,没有前后的分离的概念,页面是后端做的事情,后端会通过html,css,和一些java代码在后台动态地生成一个页面,当用户输入网址时,会从浏览器调用对应的已经生成好的页面,直接渲染在页面上。而这个过程叫做后端渲染。
在后端渲染的阶段,用户输入的url,会从服务器获取对应的页面,这个映射过程是由后端在处理的,所以叫做后端路由。
虽然在后端直接生成页面虽然有利于seo搜索,但是代码杂糅不易于管理,后端人员的工作负荷大。
- 前后端分离阶段
ajax的出现,让前端可以操控后端的数据,只需要后端提供接口就可以了,真正实现了前后端的分离,此时,页面不再是在服务器中直接生成好了,而是由前端通过ajax,动态地获取数据,渲染出页面。而这个过程就叫做前端渲染。
ajax的出现,明确分离的前后端的工作职责,让前端专注于页面的渲染,用户的交互,而后端则专注于数据库的管理。代码也不再杂糅,方便维护和管理。
当用户输入url地址时,会先向静态服务器,获取当前页面对应的html,css,js。然后再根据js中的ajax获取提供API接口服务器中的数据。
虽然看起来还不错,但是由于一个页面对应一套html,css和js,我们需要在静态服务器上放置很多个页面的html,css,js,也需要对这么多套页面进行管理,其实并不方便,于是就出现了SPA。
- SPA单页面阶段
SPA的全称是single page application,也就是单页面富应用。它是在前后端分离的基础上,结合路由完成的。
SPA打包后只有一个html,一个css,一个js。当用户输入url地址时,会从静态服务器获取到全部的数据(也就是只会获取一次数据),再通过路由来处理页面直接的映射关系,当用户输入某个url,就显示对应的页面,不再像服务器请求对应的页面。这里的路由就是前端路由。