web路由机制

路由的含义

简单来说,路由就是URL到函数的映射。

路由的分类

  • 服务端路由
  • 客户端路由
    • 客户端静态路由
    • 客户端动态路由

服务端路由

对于服务器来说,当接收到客户端发来的HTTP请求,会根据请求的URL,来找到相应的映射函数,然后执行该函数,并将函数的返回值发送给客户端。对于最简单的静态资源服务器,可以认为,所有URL的映射函数就是一个文件读取操作。对于动态资源,映射函数可能是一个数据库读取操作,也可能是进行一些数据的处理,等等。

这也是经典的路由方式。

客户端静态路由

借助angular、reactjs等前端框架的兴起,单页应用逐渐流行,客户端路由的概念形成。

主要是基于以下两种方式实现:

  • Hash
  • History API

客户端动态路由

当路由机制由后端移到前端处理的时候,又希望动态加载资源,这时候,动态路由的概念出现了。
其核心问题,就是实现资源的按需加载。

关于路由的进阶思考

传统的开发思路:我们为每个 URL 编写独立的页面或者模块。

新的开发思路:URL 是一个状态,代码读取这个状态作出不同展现,展现得完全不同时,可以看作传统模式的页面切换;但还可以做到只有某一块区域展现得不同。

参考
  • 理解Web路由
  • React-router 4 按需加载的实现方式及原理(Code Splitting)
  • 精读《React Router4.0 进阶概念》
  • 精读前后端渲染之争

你可能感兴趣的:(web路由机制)