什么是路由

先来看看你家的路由器**
image.png
你上网的时候,想要打开百度。这时候,路由器就会把你的请求发给了百度,百度就对你的请求进行回应,你就可以浏览百度了。

路由器主要就是用来分发请求的。

这是你上网的路由。

路由routing)就是通过互联的网络信息从源地址传输到目的地址的活动。路由发生在OSI网络参考模型中的第三层即网络层。路由引导分组转送,经过一些中间的节点后,到它们最后的目的地。作成硬件的话,则称为路由器。路由通常根据路由表——一个存储到各个目的地的最佳路径的表——来引导分组转送。 —- 维基百科

前端路由

hash 和 history 的区别

首先它们使用的条件是不一样的。

hash 模式在任何情况下都能做前端路由,但是它对 SEO 不友好,原因是服务器收不到这个 hash。

history 要满足两个条件,1. 后端将多有前端路由都渲染到同一个页面。2. 不支持 IE8

memory 用对象来存储,存在 localStorage 中。这种模式适合非浏览器,比如 APP,APP 是没有路径的。

hash 和 history 都是通过 URL 来存路径的。前者用的 URL 的哈希,后者用的路径。
memory 不用 URL,前端一般放在 localstorage 里面。移动端一般放在本地的数据库里面。它的缺点是没有 URL。它是一个单机版的路由,如果你把 URL 分享给别人,别人看到的跟你是不一样的