写在最前
在平时的前端开发中我们经常会遇到这种操作。明明我代码更新了,咋刷出来还是以前的呢?是不是缓存了?快清下缓存看看!你看页面是304,怪不得没更新!等等很多情况。作者起初也不是很了解,因为这个不由前端来控制,都是后端的操作。故这次使用node也来写一个控制缓存的服务来真正搞明白这里的道道。欢迎关注我的博客,不定期更新中——
浏览器缓存机制
在说这个服务如何写之前我们先要明白浏览器缓存到底是个啥。来看下这个简略示意图:
可以看到浏览器的缓存机制分为两个部分。1、当前缓存是否过期?2、服务器中的文件是否有改动?
第一步:判断当前缓存是否过期
这是判断是否启用缓存的第一步。如果浏览器通过某些条件(条件之后再说)判断出来,ok现在这个缓存没有过期可以用,那么连请求都不会发的,直接是启用之前浏览器缓存下来的那份文件:
图中看到这个css文件缓存没有过期,被浏览器直接通过缓存读取了出来,注意