性能缓存

性能缓存_第1张图片

性能缓存_第2张图片


如果同时存在cache-control和Expires怎么办呢?

浏览器总是优先使用cache-control,如果没有cache-control才考虑Expires

ETag是Web服务端产生的,然后发给浏览器客户端。浏览器客户端是不用关心Etag是如何产生的。

Pragma: no-cache的作用和Cache-Control: no-cache一模一样。 都是不使用缓存。

Pragma: no-cache 是HTTP 1.0中定义的, 所以为了兼容HTTP 1.0. 所以会同时使用Pragma: no-cache和Cache-Control: no-cache


按F5刷新浏览器和在地址栏里输入网址然后回车。 这两个行为是不一样的。

按F5刷新浏览器, 浏览器会去Web服务器验证缓存。

如果是在地址栏输入网址然后回车,浏览器会"直接使用有效的缓存", 而不会发http request 去服务器验证缓存,这种情况叫做缓存命中,如下图

公有缓存和私有缓存的区别

Cache-Control: public 指可以公有缓存, 可以是数千名用户共享的。

Cache-Control: private 指只支持私有缓存, 私有缓存是单个用户专用的。


Cache-Control 指令用来告诉我们,那个资源在什么条件下可以缓存,以及可以缓存多久


性能缓存_第3张图片

你可能感兴趣的:(性能,缓存,web服务)