前端路由和后端路由

前端路由的典型:ng-route,后端路由典型:express (结合模板,返回的是html文件,感受模板略像jsp,没有分离)javascript

前端路由根据不一样的url展现页面,服务端根据 url 的不一样返回不一样的页面实现的。在单页面应用,大部分页面结构不变,只改变部份内容的使用html

优势
用户体验好,不须要每次都从服务器所有获取,快速展示给用户
缺点
使用浏览器的前进,后退键的时候会从新发送请求,没有合理地利用缓存
单页面没法记住以前滚动的位置,没法在前进,后退的时候记住滚动的位置
前端

 

因为单页Web应用在一个页面中显示全部的内容,因此不能使用浏览器的前进后退功能,全部的页面切换须要本身创建堆栈管理,固然此问题也有解决方案,好比利用URI中的散列+iframe实现。java

初始加载慢 为实现单页Web应用功能及显示效果,须要在加载页面的时候将JavaScript、CSS统一加载,部分页面能够在须要的时候加载。因此必须对JavaScript及CSS代码进行合并压缩处理,若是使用第三方库,建议使用一些大公司的CDN,所以带宽的消耗是必然的。express

 


简单的说,咱们打开一个页面,这个页面是个单页应用:http://www.spa.com/
因此它仅仅只有一个页面,不过却作有好几个 URL:
后端

  1. http://www.spa.com/a  
  2. http://www.spa.com/b  
  3. http://www.spa.com/c  


这些 URL 不会直接传给服务器,而是会被浏览器消化处理掉.浏览器

后端路由:缓存

每跳转到不一样的URL,都是从新访问服务端,而后服务端返回页面,页面也能够是服务端获取数据,而后和模板组合,返回HTML,也能够是直接返回模板HTML,而后由前端js再去请求数据,使用前端模板和数据进行组合,生成想要的HTML。
服务器

相关文章
相关标签/搜索