路由 (hash模式和history模式)

本文详细介绍了浏览器资源请求的过程,包括服务器资源获取方式,以及单页面应用(SPA)与多页面应用(MPA)的区别。还探讨了hash和history两种路由模式在实际开发中的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先我们了解一下资源请求:

1.什么是资源

在浏览器需要某一个数据或文件进行解析或者浏览器在解析某个脚本的时候需要数据进行DOM渲染等工作,那么这个数据或文件就是浏览器的资源

2.资源怎么获取

浏览器的资源都必须通过资源请求的方式或从缓存中调出的方式进行获取

3.资源请求的过程是什么
  1. 浏览器HTTP的三次握手
  2. 在第三次握手的同时进行通信
  3. 通信就是向某个主机请求资源
    1. 本地的计算机(文件系统)
    2. 本地或远程的服务器(文件系统)
  4. 资源从对象主机响应回客户端(浏览器)
  5. 浏览器对资源进行加载解析

网络请求:
前提:
1. 一定要有一个服务器
2. 文件一定是保存在服务器文件系统的
服务器程序(HTTP服务)

4.下面是我们写的一个服务器文件,通过浏览器可以请求该服务器资源
const express = require('express');
const {
   
   resolve} = require('path');

const app = express();

// 服务器 如果你想通过 http://localhost:8080/home.html
// app.use(express.static(resolve(__dirname, 'public')));

// GET  http://localhost:8080/data => {}
// 
app.get('/data', (req, res) => {
   
   
  // application/json
  res.json({
   
   
    name: 'hello lucky',
    age: 18
  })
})

app.get('/', (req, res) => {
   
   
  // 响应回home.html
  // res.sendFile()
  res.sendFile(resolve(__dirname, 'public/home.html'));
});

app.get('/list', (req, res) => {
   
   
  // 响应回list.html
  res.sendFile(resolve(__dirname, 'public/list.html'));
})

app.listen(8080, () => {
   
   
  console.log('Server is running on PORT 8080');
})

资源目录 home和list资源存放在public文件夹下(普通的html文件)
image.png

以上就是浏览器通过地址访问服务器资源的过程,下面我们继续说下什么是单页面应用,什么是多页面应用

单页面应用/多页面应用

1.单页面应用(spa)

指只有一个页面的web应用,进入页面只需要加载一次相关资源(css、js等),所有内容都包含在此页面中,对每一个功能内容做组件化。单页面应用跳转,就是切换相关组件,仅仅只是刷新局部资源。

2.多页面应用(mpa)

指有多个独立页面的web应用,且进入每个页面都必须重复加载相关资源(js、css等)。多页面应用的跳转,需要整页资源刷新。

3.单页面应用和多页面应用区别?
  1. 页面数量和跳转方式不同。单页面应用通常只有一个主页
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

️不倒翁

你的鼓励就是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值