Hash 模式和 History 模式的区别?

Hash 模式和 History 模式是前端路由中常用的两种模式,它们在 URL 的形式和处理方式上存在一些区别。

  1. URL 形式:

    • Hash 模式:在 URL 中使用 # 符号来表示路由的路径。例如,http://example.com/#/home
    • History 模式:在 URL 中使用真实的路径,不需要 # 符号。例如,http://example.com/home
  2. 兼容性:

    • Hash 模式:支持所有现代浏览器和较旧的浏览器,包括不支持 HTML5 History API 的浏览器。
    • History 模式:需要浏览器支持 HTML5 History API,因此较旧的浏览器可能不支持。
  3. 服务器配置:

    • Hash 模式:不需要特殊的服务器配置。因为 # 符号后面的内容不会发送到服务器,所以服务器只需返回主页面即可。
    • History 模式:需要服务器配置来确保在直接访问子路由时返回正确的页面。服务器需要配置一个 fallback 选项,以便在找不到具体的路由时返回主页面。
  4. 美观性:

    • Hash 模式:由于 # 符号的存在,URL 可能看起来比较杂乱,不够美观。
    • History 模式:URL 可以更加干净和直观,没有额外的 # 符号。
  5. 导航操作:

    • Hash 模式:在切换路由时,会触发浏览器的 hashchange 事件,可以通过监听该事件来响应路由的变化。
    • History 模式:通过 History API 可以动态地修改 URL,并且在切换路由时不会触发特定的事件,需要使用编程式的导航方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值