说说前后端路由
2019-03-23 本文已影响28人
deniro
1 基本概念
什么是路由?举个例子,GET 或 POST 请求时,服务端会维护一个正则配置表,当请求匹配到某一条具体 URL 路径时,就会分发到不同的 Controller,处理完成后,将 HTML 或数据返回给前端,这样就完成了一次 IO 交互操作。这就是目前绝大多数网站所使用的方案,这种方案叫做后端路由,即多页面应用。
2 后端路由
后端路由的好处是:
- 服务端渲染后,可以直接返回给浏览器。
- SEO 友好。
SEO ( Search Engine Optimization ):汉译为搜索引擎优化 。 指的是,利用搜索引擎的规则来提高网站在有关搜索引擎内的自然排名 。 它的目的是:为网站提供生态式的自我营销解决方案,让其在行业内占据领先地位,获得品牌收益; SEO 包含站外 SEO 和站内 SEO 两方面;为了从搜索引擎中获得更多的免费流量,从网站结构 、 内容建设方案 、 用户互动传播 、 页面等角度进行合理规划,还会使搜索引擎中显示的网站相关信息对用户来说更具有吸引力 。
缺点是:
- 因为模板是由后端编写与维护的,所以前端开发者需要学习 Java 等后端语言,并安装后端服务开发环境。
- 页面、数据与逻辑混合在一起,维护困难。
3 前端路由
前端路由是单页面富应用(SPA)的核心。SPA 就是在前后端分离的基础上,再加上一层后端路由。路由规则由前端来维护。它有两种实现方式:
- 利用 URL 的 hash,即锚点(#),JavaScript 利用 hashChange 事件来监听 URL 是否被改变。此方法在 IE7 及之前的版本需要通过轮询来实现。
- HTML5 的 Histroy 模式,它可以让 URL 以 "/" 分隔, 却不会让页面发生跳转(服务端会把接收到的所有请求,都指向同一个 HTML 页面)。
这样 SPA 就只有一个 HTML 页面 ,网站的所有内容都指向这个页面。
前端路由的优点是:
- 页面持久性。
- 前后端分离。