1.后端路由
概念:根据不同的用户的不同URL请求,发送到服务器以后返回不同的内容。
本质:是URL请求地址与服务器资源之间的对应关系。
优点:分担了前端的压力,html和数据的拼接都是由服务器完成。
缺点:后端渲染(存在性能问题)当项目十分庞大时,加剧了服务器端的压力,同时在浏览器端不能输入制定的url路径进行指定模块的访问。另外一个就是如果当前网速过慢,那将会延迟页面的加载,再有如果网页有很多表单提交,会造成网页的频繁刷新,对用户体验不是很友好。
2.前端路由
概念:根据不同的用户事件,显示不同的页面内容
本质:用户事件与事件处理函数之间的对应关系
SPA(Single Page Application)单页面应用(前端路由)
· 首先提出了Ajax的前端渲染(提高性能,但是不支持浏览器的前进后退操作)
· 然后又出现了SPA 单页面应用程序开发技术:整个网站只有一个页面,内容的变化通过Ajax局部更新实现,同时支持浏览器地址栏的前进后退操作。(实现原理之一):基于URL地址的hash值【hash的变化会导致浏览器记录访问历史的变化,但是hash的变化不会触发新的URL请求】,在实现SPA的过程中,核心技术点就是前端路由
优点: 1.用户体验好,和后台网速没有关系,不需要每次都从服务器全部获取,快速展现给用户
2.可以再浏览器中输入指定想要访问的url路径地址。
3.实现了前后端的分离,方便开发。
缺点: 1.使用浏览器的前进,后退键的时候会重新发送请求,没有合理地利用缓存
2.单页面无法记住之前滚动的位置,无法在前进,后退的时候记住滚动的位置