今日学习HTTP缓存有些疑问,望各位大佬解答。
- 强缓存。 cache-control 设置 max-age 是一个数量值,那么客户端去缓存如何判断过期呢?因为要知道资源最后有效的截止日期, 是结合 header 的
Date
字段判断?还是说 Http 自己有一套 算法/规则 会去清理过期的资源,当过期后再去取时没找到就重新请求? - 协商缓存。二次请求时,网上都说从本地拿取标识去和服务器做核对?这个表示我理解其实就是 Http 的相应字段值嘛(
Last-Modified
/Etag
),那么本地是存的整个 header 还是说仅仅是该字段?另外在发标识请求这个过程,请求只携带 header 而没有body(换句话就是:304请求值携带header?) - 本地将资源缓存、获取本地标识向服务器请求这两件事(谁在操作本地的空间)网上都说是客户端完成的,对吗?还是说是 http协议 去做的?
以上三个问题,可能需要多了解一些http了,如果没有回答,我后面来自答!