当前位置: 首页 > news >正文

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

前端路由hash和history的区别

  • 前言
    • 谁的URL有#
    • 回车刷新时hash和history变化
  • 谁支持低版本浏览器
  • hash不会重新加载页面
  • 谁有历史记录
  • 谁需要后台配置
  • hash缺点

前言

本文主要讲解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再渲染页面,可能导致浏览器加载时间过慢导致白屏问题。

相关文章:

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

前端路由hash和history的区别 前言谁的URL有#回车刷新时hash和history变化 谁支持低版本浏览器hash不会重新加载页面谁有历史记录谁需要后台配置hash缺点 前言 本文主要讲解hash和history路由的区别,那么好本文正式开始。 谁的URL有# 路由Hash的地址上有#,而hist…...

解决多选删除页面不同步问题

多选删除一般有两种情况: 1,删除接口支持传多个id,这是最理想的方法,建议大家积极与后端进行沟通解决。之后只需要判断接口回调刷新页面即可! 2,删除接口不支持传多个id,这就是接下来我们要处…...

QQ空间上传一次 500张限制突破记录

手机又好多照片了,用手机上传耽误时间,就导出到电脑了,上传到qq空间去。 结果发现不开通黄钻无法上传原图,那就开通吧! 开通了黄钻,居然不能一次上传超过 500 张,开通有何用? 五千…...

springboot3.x+springsecurity6.x多种方式登录验证

最新的 Spring Security 5.7 及以上版本,更新了不少内容,之前的 WebSecurityConfigurerAdapter 已经被废弃了,而且,要同时实现用户名密码登录、手机验证码登录、邮箱、微信小程序等登录方式,跟之前的配置方式都会有所不…...

【数据结构实验】图(二)将邻接矩阵存储转换为邻接表存储

文章目录 1. 引言2. 邻接表表示图的原理2.0 图的基础知识a. 类型b. 表示 2.1 有向权图2.2 无向权图2.3 无向非权图2.4 有向非权图 3. 实验内容3.1 实验题目(一)数据结构要求(二)输入要求(三)输出要求 3.2 算…...

【LeetCode】挑战100天 Day15(热题+面试经典150题)

【LeetCode】挑战100天 Day15(热题面试经典150题) 一、LeetCode介绍二、LeetCode 热题 HOT 100-172.1 题目2.2 题解 三、面试经典 150 题-173.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站,提供各种算法和数据结构的题目&…...

面试:RabbitMQ相关问题

文章目录 简单介绍RabbitMQRabbitMQ架构什么是 RabbitMQ?有什么显著的特点?RabbitMQ 有那些基本概念?RabbitMQ routing 路由模式消息怎么路由?RabbitMQ publish/subscribe 发布订阅(共享资源)能够在地理上分开的不同数据中心使用 …...

SpringMVC系列-7 @CrossOrigin注解与跨域问题

背景 前段时间帮同事分析了一个跨域问题,正好系统分析和整理一下。 1.跨域 理解同源策略是理解跨域的前提。同源策略定义如下: 在同一来源的页面和脚本之间进行数据交互时,浏览器会默认允许操作,而不会造成跨站脚本攻击&#x…...

[RK-Linux] misc分区详解

misc 其实是英文 miscellaneous 的前四个字母,杂项、混合体、大杂烩的意思。 misc 分区的概念来源于 Android 系统,Linux 系统中常用来作为系统升级时或者恢复出厂设置时使用。 misc 分区的读写:misc 分区在以下情况下会被读写。 Uboot:设备加电启动时,首先启动 Uboot,…...

用户与组管理:如何在服务器系统中管理用户和权限

你是否想过,当你登录到一个服务器系统时,你是如何被识别和授权的?你是否知道,你可以通过创建和管理用户和组来简化和优化你的系统管理工作?你是否想了解一些常用的用户和组管理命令和技巧?如果你的答案是肯…...

【负载均衡】这些内容你需要知道下

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不…...

深入理解 Django 中的事务管理

概要 在数据库操作中,事务是确保数据完整性和一致性的关键机制。Django 作为一个强大的 Python Web 框架,提供了灵活而强大的事务管理功能。理解和正确使用 Django 中的事务对于开发高质量的 Web 应用至关重要。本文将深入探讨 Django 的事务管理机制&a…...

springsecurity6配置一

springsecurity6默认的过滤器是UsernamePasswordAuthenticationToken。具体操作步骤如下: 一、定义一个实体实现springsecurity的UserDetails接口 package com.school.information.core.security.entity;import com.alibaba.fastjson.annotation.JSONField; import com.scho…...

四边形不等式优化DP

目录 四边形不等式内容[HNOI2008]玩具装箱解析代码实现 参考资料 四边形不等式内容 TODO [HNOI2008]玩具装箱 解析 满足四边形不等式&#xff0c;决策具有单调性. 对于两个位置 i , j i, j i,j, 对应的最优决策点一定有 o p t [ i ] < o p t [ j ] opt[i] < opt[j]…...

Gin 学习笔记01-数据返回

Gin 数据返回 1、返回 string 和 json2、返回 xml 和 ymal3、返回html4、重定向 1、返回 string 和 json c.String()c.JSON() package mainimport ("github.com/gin-gonic/gin""net/http" )func getJSON(c *gin.Context) {//c.String(http.StatusOK, &qu…...

【AI考证笔记】NO.1人工智能的基础概念

目录 一、什么是智能 1.什么是智能 2.智能的种类 二、什么是人工智能 1.人工智能之父——图灵 2.人工智能的定义 三、人工智能的发展阶段 四、哪些工作要被淘汰掉&#xff1f; 以下部分内容来自于百度智能云人才认证培训讲义&#xff0c;腾讯等也有人工智能类似的讲义&…...

【Exception】npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY

Talk is cheap, show me the code. 环境 | Environment kversionOSwindows 11nodev18.14.2npm9.5.0 报错日志 | Error log >npm create vitelatest Need to install the following packages:create-vite5.0.0 Ok to proceed? (y) y npm ERR! code UNABLE_TO_GET_ISSUER_…...

持续集成交付CICD:GitLabCI 通过trigger触发流水线

目录 一、理论 1.GitLabCI 二、实验 1.搭建共享库项目 2.GitLabCI 通过trigger触发流水线 三、问题 1.项目app02未触发项目app01 2.GitLab 报502网关错误 一、理论 1.GitLabCI (1) 概念 GitLab CI&#xff08;Continuous Integration&#xff09;是一种持续集成工具…...

Java 多线程中的sleep()和wait()方法的区别

Java 多线程中的sleep()和wait()方法的区别 1、相同点 sleep()和wait()都可以暂停线程的执行。 2、不同点 所在类不同 sleep()是Thread类的静态方法。 wait()是Object类的方法。 锁释放不同 sleep()是不释放锁的。 wait()是释放锁的。 用途不同 sleep()常用于一定时间内暂停…...

车载以太网-数据链路层-VLAN

文章目录 车载以太网VLAN(Vehicle Ethernet VLAN)车载以太网VLAN帧格式VLAN帧报文VLAN帧报文示例车载以太网VLAN(Vehicle Ethernet VLAN) 车载以太网VLAN(Vehicle Ethernet VLAN)是一种在车辆网络中使用的虚拟局域网技术。它允许在车载以太网网络中创建多个逻辑网络,从…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...