1. 浏览器发送请求前,根据请求头的expires和cache-control判断是否命中(包括是否过期)强缓存策略,如果命中,直接从浏览器缓存获取资源,并不会发送请求。
2.如果没有命中,则进入下一步,浏览器会发送请求,根据请求头的last-modified和etag判断是否命中协商缓存,如果命中,直接从redis缓存(中间件)获取资源。
3.如果前两步都没有命中,则直接从服务端(sql数据库)获取资源。