hash模式有#号,history模式没#。
hash模式下,url改变,浏览器不会向服务器发送请求,而是会刷新页面,同时触发hashChange事件。可以通过window.location.hash来获取url值。进而向服务器发送新的请求。(不会重新加载,适合单页面)。
history模式下,url改变后回车,浏览器会向服务器发送请求,如果此时服务器没有配置对应的资源,则会返回404错误。(html5中有replace(),push()来修改历史记录)。
总结:(hash:不主动发请求,只刷新,通过触发事件来操作(适合单页面);history:主动向服务器发请求(服务端要配合使用,适合多页面))