HTTP缓存
HTTP 缓存主要分为两大类:强缓存和协商缓存
。这两种缓存都通过 HTTP 响应头来控制,目的是提高网站性能。
强缓存介绍
强缓存之后则不需要向服务器发送请求,而是从浏览器缓存读取分为(内存缓存
)| (硬盘缓存
)
-
memory cache(内存缓存)
内存缓存存储在浏览器内存当中,一般刷新网页的时候会发现很多内存缓存 -
disk cache(硬盘缓存)
硬盘缓存是存储在计算机硬盘中,空间大,但是读取效率比内存缓存慢
强缓存案例(Expires)
Expires: 该字段指定响应的到期时间,即资源不再被视为有效的日期和时间。它是一个 HTTP 1.0 的头部字段,但仍然被一些客户端和服务器使用。
Expires 的判断机制是:当客户端请求资源时,会获取本地时间戳,然后拿本地时间戳与 Expires 设置的时间做对比
,如果对比成功,走强缓存,对比失败,则对服务器发起请求。
node端
import express from 'express'
import cors from 'cors'
const app = express()
app.use(cors())
app.get('/', (req, res) => {
res.setHeader('Expires', new Date('2024-3-30 23:17:00').toUTCString()) //设置过期时间
res.json({
name: 'cache',
version: '1.0.0'
})
})
app.listen(3000, () => {
console.log('Example app listening on port 3000!')
})