路由是什么?
路由这个词语其实最开始的时候是网络工程里面一个专业的术语,当然随着随着我们生活中路由器的使用,我们最熟悉的可能就是路由器这个物品了。
事实上路由器主要维护的就是一个映射表,映射表则会决定数据的流动方向。
所谓的映射表,则是将我们的IP地址和真实电脑的MAC地址进行了一个连接,当别人发送消息的时候,我们都是先找到IP地址,再找到我们的MAC地址。通过路由的传输发送到我们的电脑或者手机上面。
在架构一个网络时,非常重要的两个设备就是路由器和交换机。
路由在软件工程上的出现
路由最早的时候是在后端路由中实现的,而我们web的发展也是经历了下面三个阶段:
后端路由阶段(后端渲染)前后端分离阶段(Ajax的出现)单页面富应用(SPA)页面后端路由阶段
早期的网站开发整个HTML页面都是由服务器进行渲染的。服务器直接将渲染好的HTML页面,返回给客户端进行展示。每一个页面都有自己网址,也就是URL。我们每一次的URL请求,服务器都会通过正则对这个URL进行匹配,并且最后交给一个Controller进行处理。Controller进行各种处理后,最终将生成的HTML或者数据,返回给前端。上面的这种操作我们简称为后端路由,这种情况下渲染好的页面,不需要单独的加载任何的CSS和JS,是可以直接交给浏览器进行展示的。
后端路由的缺点
整个页面都是由后端人员来进行编写和维护的。前端人员如果要开发页面,那么就需要通过PHP和java等语言来编写代码。而且通常情况下HTML代码与数据及其相应的逻辑会混在一起,编写和维护都是非常糟糕的事情。
前后端分离阶段
随着Ajax的出现,开始了前后端分离的开发模式。后端只是提供API返回的数据,前端则是通过Ajax请求获取数据,并且通过JS将数据渲染到页面中。这样做法的最大优点则是前后端的责任清晰,前端专注于可视化,后端注重于数据上面。并且随着移动端(ios/Android)的出现后,后端不用进行任何的处理,依然使用之前的一套API即可。所以现在的网站很少会有人采用JQuery这种开发模式。
前端渲染的理解
每次请求涉及到的静态资源,都会从静态资源服务器获取,这些资源包括HTML+CSS+JS,然后在前端对这些请求回来的资源进行渲染。需要注意的是,客户端的每一次请求,都会从静态资源服务器请求文件。同时可以看到,和之前的后端路由不同,这时后端只是负责提供API了。
SPA阶段
SPA(simple,page,application):简单的页面应用程序。
这种页面是现在最常见的页面,比如我们手机的一些购物网站,通常能够分为四个页面:home,about,profile,cart等等页面。我们可以通过Button对页面进行切换,刚开始的时候我们是在home页面,那么我们显示的则是/home。在通过Button点击之后,通过路由跳转到各个页面,此时跳转到的页面进行渲染,此时和后端已经没有任何的联系了。每一个大的页面都能看成是一个组件,这里我们就有了路径和组件之间的映射关系。
Forexample:
/home-Home.vue,/about-About.vue/cart-cart.vue这就是路径和组件的映射关系,当路径进行改变的时候,我们是不希望去服务器去请求资源的,那么这里的路径我们就可以设置成为Hash或者是history值。
前端学习方向(HTML-CSS-JS)然后就可以解除现在比较火的框架。
vue.js快速入门+前端开发实战+前端技术架构与工程+前端架构+前端开发核心知识进阶京东好评率%无理由退换¥购买