前端路由hash和history的六大区别

前言

本文主要讲解hash和history路由的区别,那么好本文正式开始。

谁的URL有#

路由Hash的地址上有#,而history路由没有#,这也是它俩最直观的区别。

回车刷新时hash和history变化

当我们在url中用回车键进行刷新时,hash会加载对应的页面,而history就会报404的错误。报错404的原因是在history模式中,地址并不是真实存在的,所以会报错404.

谁支持低版本浏览器

Hash路由是支持低版本浏览器的,而history不支持低版本的浏览器。具体点说就是hash能兼容到IE8,而history只能兼容到IE10版本。因为history是HTML5新增的。

hash不会重新加载页面

hash (url中#后面的部分)出现在url中,但不会被包含在http请求中,对后端完全没有影响,因此改变hash不会重新加载页面。而history当改变时候会重新加载页面。

谁有历史记录

history有历史记录,并且可以修改历史记录,因为它在H5中新增了pushstatereplacestate两个方法用于修改历史记录。

谁需要后台配置

history因为不会立刻请求http,所以说它其实是需要后台对它的刷新进行一个配置。而hash不需要。

注:而 Vue / React 应用的是hash的原理。通过不同的路由去调用不同的 函数 / js去生成不同的页面代码。

hash缺点

  1. 不利于SEO(搜索引擎优化)
  2. 由于浏览器需要先加载js再渲染页面,可能导致浏览器加载时间过慢导致白屏问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃巧克li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值