前端路由和后端路由的区别
-
路由:
路由是根据不同的 url 地址展示不同的内容或页面 -
前端路由:
前端路由很重要的一点是页面不刷新,前端路由就是把不同路由对应不同的内容或 页面的任务交给前端来做, 每跳转到不同的 URL 都是使用前端的锚点路由. 随着
( SPA)单页应用的不断普及,前后端开发分离,目前项目基本都使用前端路由,在项目使用期间页面不会重新加载。hash 有一个特点: http 请求中不会包含 hash 相关的内容; 所以,单页面程序中的页面跳转主要用 hash 实现;
- 后端路由:
通过用户请求的 url 导航到具体的 html 页面;每跳转到不同的 URL,都是重新访问服务端,然后服务端返回页面,页面也可以是服务端获取数据,然后和模板组合, 返回 HTML, 也可以是直接返回模板 HTML, 然后由前端 js 再去请求数据, 使用前端模板和数据进行组合,生成想要的 HTML。
- 对比:
1.从性能和用户体验的层面来比较的话:
- 后端路由每次访问一个新页面的时候都要 向服务器发送请求,然后服务器再响应请求,这个过程肯定会有延迟。
- 而前端路由在 访问一个新页面的时候仅仅是变换了一下路径而已,没有了网络延迟,对于用户体验 来说会有相当大的提升。
在某些场合中,用 ajax 请求,可以让页面无刷新,页面变了但 Url 没有变化,用户就不能复制到想要的地址,用前端路由做单页面网页就很好的解决了这个问题。但是前端路由使用浏览器的前进,后退键的时候会重新发送请求,没有合理地利用缓存。
面试题:前后端渲染的优缺点+比较