浏览器路由分为前端路由和后端路由
后端路由
就是把不同路由对应不同的内容或页面的任务交给后端来做。
- 特点:
- 前端的页面资源和后端服务是在一个项目中,发布部署的时候也是在一块
- 页面请求的URL全部通过后端服务的过滤器进行过滤和处理
- 前端浏览器显示的页面信息是通过后端服务直接response的,页面的内容是后端进行加工和处理的
- 优点:
- 强大的jstl标签,jsp标准库的应用让开发效率大大提升
- 代码编写自由度高
- 缺点:
- 前后端代码耦合验证
- 体验较差,每次页面跳转都要重新向服务器发起请求,慢
- 必须运行在Java的web容器里
- 大的web项目在开发和管理上较麻烦
前端路由
就是把不同路由对应不同的内容或页面的任务交给前端来做。
- 实现原理:
- History API
- hash
- 优点:
- 用户体验提升,因为前端路由在访问一个新页面的时候仅仅交换了一个路径唯一,没有网络延迟
- 做无感刷新,做单页面应用
- 可以直接在游览器中输入指定想要访问的URL
- 实现了前后端分离,方便开发
- 缺点:
- 使用游览器的前进/后退键的时候会重新发送请求,没有合理的利益缓存
- 单页面无法记住之前滚动的位置