1、后端路由阶段
- 早期的网站开发整个
HTML
页面是由服务器
来渲染的。-
服务器直接生产渲染好对应的
HTML
页面,返回给客户端进行展示。
-
服务器直接生产渲染好对应的
- 但是一个网站,这么多页面服务器是如何处理的呢?
- 一个页面有自己对应的网址,也就是URL。
-
URL
会发送到服务器,服务器会通过正则对该URL
进行匹配,并且最后交给一个Controller
进行处理。 -
Controller
进行各种处理,最终生成HTML
或者数据
,返回给前端。 - 这就完成了一个
IO
操作
- 上面的这种操作就是后端路由。
- 当我们页面中需要请求不同的路径内容时,交给服务器来进行处理,服务器渲染好整个页面,并且将页面返回给客户端。
- 这种情况下渲染好的页面,不需要单独加载任何
js
和css
,可以直接交给浏览器展示,这样有利于SEO的优化。
- 后端路由的缺点
- 一种情况是整个页面的模块由后端人员来编写和维护。
- 另一种情况是前端开发人员如果要开发页面,需要通过PHP和java等语言来编写页面代码。
- 而且通常情况下HTML代码和数据以及对应的逻辑会混在一起,编写和维护都是非常糟糕的事情。
2、前后端分离阶段
- 随着Ajax的出现,有了前后端分离的开发模式。
- 后端只提供API来返回数据,前端通过Ajax获取数据,并且可以通过JavaScript将数据渲染到页面中。
- 这样做最大的优点就是前后端责任清晰,后端专注于数据上,前端专注于交互和可视化上。
- 并且移动端
(iOS/Android)
出现后,后端不需要进行任何处理,依然使用之前的一套API即可。 - 目前很多网站依然采用这种模式开发。
3、单页面富应用阶段
- 单页面富应用简称为
SPA(simple page web application)
。 -
SPA
最主要的特点就是在前后端分离的基础上加了一层前端路由。- 一般情况下,整个网站只有一个
html
页面。 - 在前后端分离阶段,静态资源服务器中放了好几套
html+css+js
,对应各个页面。但是在SPA
里面,只有一个html+css+js
。 - 当你输入网站,它将全部资源都加载到浏览器中。
- 比如你想进入你页面的首页,通过首页的
url
从浏览器获取的全部资源中抽取出需要的组件。
- 一般情况下,整个网站只有一个
前端路由:
url
和组件之间的一种映射关系。
前端路由的核心:改变URL
,但页面不进行整体的刷新。
网友评论