hash ——即地址栏 URL 中的#符号(此 hsah 不是密码学里的散列运算) hash 虽然出现 URL 中,但不会被包含在 HTTP 请求中,对后端完全没有影响,因此改变 hash 不会重新加载页面。
history ——利用了 HTML5 History Interface 中新增的 pushState() 和 replaceState() 方法
这两个方法应用于浏览器的历史记录站,在当前已有的 back、forward、go 的基础之上,它们提供了对历史记录进行修改的功能。只是当它们执行修改是,虽然改变了当前的 URL,但你浏览器不会立即向后端发送请求