在单页应用上,前端路由并不陌生。单页应用是指在浏览器中运行的应用,在使用期间页面不会重新加载。
基本原理:以 hash 形式(也可以使用 History API 来处理)为例,当 url 的 hash 发生改变时,触发 hashchange 注册的回调,回调中去进行不同的操作,进行不同的内容的展示。
基于hash的前端路由优点是:能兼容低版本的浏览器。
history 是 HTML5 才有的新 API,可以用来操作浏览器的 session history (会话历史)。
从性能和用户体验的层面来比较的话,后端路由每次访问一个新页面的时候都要向服务器发送请求,然后服务器再响应请求,这个过程肯定会有延迟。而前端路由在访问一个新页面的时候仅仅是变换了一下路径而已,没有了网络延迟,对于用户体验来说会有相当大的提升。
http://blog.csdn.net/liujie19901217/article/details/51850769
http://blog.csdn.net/xllily_11/article/details/51820909