后端路由
什么是后端路由
早期的网站开发,整个HTML页面是由服务器来渲染的,服务器直接生产渲染好对应的HTML页面,返回给客户端进行展示。
一个页面有自己对应的网址,也就是URL。Url会发送到服务器,服务器会通过正则对该URL进行匹配,并且最后交给一个Controller进行处理。
Controller进行各种处理,最终生成HTML或者数据,返回给前端。这就完成了一个IO操作。
当页面中需要请求不同的路径内容时,交给服务器来进行处理,服务器渲染好整个页面,并且页面 返回给客户端。
这种情况下渲染好的页面,不需要单独加载任何的js和CSS,可以直接交给浏览器展示,这样也有利于SEO的优化。
后端路由的缺点
- 整个页面的模块由后端人员来编写和维护。
- 前端开发人员如果需要开发页面,需要通过PHP和Java等语言来编写页面代码。
- 通常情况下HTML代码和数据以及对应的逻辑会混在一起,编写和维护都是非常糟糕的事情。
前端路由
前端路由的核心是改变URL,但页面不进行整体的刷新
前后端的分离
随着Ajax的出现,有了前后端分离的开发模式。后端只提供API来返回数据,前端通过Ajax获取数据,并且可以通过JavaScript将数据渲染到页面中。这样做最大的有点就是前后端责任的清晰,后端专注于数据上,前端专注于交互和可视化上。并且当移动端(IOS/Android)出现后,后端不需要尽心任何处理,依然使用之前的一套API即可。
单页面富应用
SPA最主要的特点就是在前后端分离的基础上加了一层前端路由,由前端来维护一套路由规则。