zoukankan      html  css  js  c++  java
  • 前端路由的原理

    什么是路由?简单的说,路由是根据不同的 url 地址展示不同的内容或页面

    使用场景?前端路由更多用在单页应用上, 也就是SPA, 因为单页应用, 基本上都是前后端分离的, 后端自然也就不会给前端提供路由。

    前端的路由和后端的路由在实现技术上不一样,但是原理都是一样的。在 HTML5 的 history API 出现之前,前端的路由都是通过 hash 来实现的,hash 能兼容低版本的浏览器。

    两种实现前端路由的方式
    HTML5 History两个新增的API:history.pushState 和 history.replaceState,两个 API 都会操作浏览器的历史记录,而不会引起页面的刷新。

    Hash就是url 中看到 # ,我们需要一个根据监听哈希变化触发的事件( hashchange) 事件。我们用 window.location 处理哈希的改变时不会重新渲染页面,而是当作新页面加到历史记录中,这样我们跳转页面就可以在 hashchange 事件中注册 ajax 从而改变页面内容。

    优点
    从性能和用户体验的层面来比较的话,后端路由每次访问一个新页面的时候都要向服务器发送请求,然后服务器再响应请求,这个过程肯定会有延迟。而前端路由在访问一个新页面的时候仅仅是变换了一下路径而已,没有了网络延迟,对于用户体验来说会有相当大的提升。

    重拾梦想 改写人生
  • 相关阅读:
    用Web标准进行开发[转]
    下载文件时不要全部读入内存(C#)
    ManyToMany
    笔试题:十三 三次 与众不同的那个
    Hibernate<Session>与Jdbc<Connection>
    一个Hibernate程序的配置过程
    Hibernate 配置多个数据库 多个SessionFactory
    Tomcat5.5配置多域名绑定和虚拟目录
    Spring加载配置文件的3种方法
    Java IO流
  • 原文地址:https://www.cnblogs.com/wulibo/p/7596437.html
Copyright © 2011-2022 走看看