hash
路由地址会带上#,但是浏览器发送给服务端的却实#之前的URL,hash模式的好处是,虽然你是个单页面应用,但你可以刷新当前页。
history
利用了 HTML5 History Interface 中新增的 pushState() 和 replaceState() 方法。(需要特定浏览器支持)
这两个方法应用于浏览器的历史记录栈,在当前已有的 back、forward、go 的基础之上,它们提供了对历史记录进行修改的功能。只是当它们执行修改时,虽然改变了当前的 URL,但浏览器不会立即向后端发送请求。
需要服务端配合,如果服务端配置仅仅是找不到路由,就重定向到index.html,那么刷新会跳首页,如果服务端对于匹配不到URL不做配置,那么一般返回404页面