前端路由的两种模式
Hash模式
就是在url路径上出现#
这个符号的模式
#
有两种情况,一个是我们所谓的锚点,比如典型的回到顶部按钮原理、Github 上各个标题之间的跳转等,
路由里的 #
不叫锚点,我们称之为 hash
,大型框架的路由系统大多都是哈希实现的。
Hash模式的原理
改变#
后的内容不会触发网页重载,这也就是所谓的单页应用
,页面上所有的操作交互都只发生在这个页面,页面不会发生重新刷新
改变#
后面的内容就会为浏览器增加一个历史记录,这个历史记录是一个堆栈的形式,可以象普通页面一样前进和后退
History模式
History 模式使用 HTML5 新增的历史记录 API 可以实现无刷新更改地址栏链接,配合 AJAX 可以做到无刷新跳转。
区别
History模式使用的是html5新增的api,对于旧版本浏览器不支持,History模式对于路径的访问都会向静态服务器发送请求,如果没有配置相应的路径解析就会返回404, 因此需要在静态服务器端提前做好相应的配置