前端路由
什么是路由
路由的概念最开始来源于后端。
在很早的时候,页面都是服务端渲染,那个时候前后端还没有分离,服务端将整个页面返回。响应的过程基本是这样的:
- 浏览器发出请求
- 服务器的80或443端口监听浏览器发过来的请求,解析url路径
- 根据url的内容,查询相应的资源,对资源进行处理之后返回给浏览器
- 浏览器接收到数据之后,通过content-type来判断如何解析资源
那么路由则是与服务器交互的一种方式,通过不同的路由我们去请求不同的资源。
前端路由
前端路由是由于AJAX的崛起而诞生的。
AJAX是浏览器为了实现异步加载的一种技术方案,解决了页面刷新的问题,大大提升了用户体验。
接着也就出现了三大框架,出现了单页面应用,不仅在页面交互是无刷新的,连页面的跳转也都是无刷新的。那么也不再需要请求服务器返回html。那么,是怎么实现的呢,答案就是前端路由。
可以认为:前端路由就是将之前服务器根据url返回不用内容的任务交给前端去做。
- 优点
- 前端可以自行维护路由和页面展示的逻辑,每次页面改动不需要通知服务器。
- 更好的交互体验,不用每次都从服务器拉取数据,可以快速的展示给用户
- 缺点
- 不利于SEO
- 不利于服务端渲染
- 首次加载慢