路由的hash和history都是前端路由的实现方式,它们的主要区别在于URL的表现形式和浏览器的行为。

  1. URL的表现形式

路由的hash模式使用URL的hash部分来模拟路由,即URL中的#号及其后面的部分。例如,http://example.com/#/page1。

路由的history模式使用URL的pathname部分来模拟路由,即URL中的路径部分。例如,http://example.com/page1。

  1. 浏览器的行为

路由的hash模式不会向服务器发送请求,因为hash部分被认为是客户端的一部分。当hash部分发生改变时,浏览器不会重新加载页面,而是触发hashchange事件,可以通过监听该事件来实现路由切换。

路由的history模式会向服务器发送请求,因为pathname部分被认为是服务器的一部分。当pathname部分发生改变时,浏览器会重新加载页面,因此需要使用HTML5的history API来实现路由切换,避免页面的重新加载。

路由hash和history的区别

原文地址: https://www.cveoy.top/t/topic/F3c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录