轻松理解 HTTP 缓存策略

Lenix at 
上一篇文章我写了 koa-static 的源码解析,其中用到了 HTTP 的缓存策略,给返回的静态文件设置了一些缓存的头,比如 Cache-Control 之类的。于是我就跟朋友讨论了一下 HTTP 的缓存策略:朋友说:“HTTP 里面控制缓存的头(header)太多了,啥 Cache-Control,ETag,Last-Modified,一大堆,乱七八糟的,而且之间逻辑关系不强,要掌握基本靠背!”我有点惊讶:“为什么要去背这个呢?所有的技术都是为了解决问题而存在的,不了解问题而去单纯的学习技术,去,背,去,死记,确实很枯燥,而且效果不好。HTTP 缓存策略只是为了解决客户端和服务端信息不对称……