2018/2/12 面试题刷题第七天

问1:浏览器缓存有哪些,通常缓存有哪几种方式?

答:强缓存 强缓存如果命中,浏览器直接从自己的缓存中读取资源,不会发请求到服务器。

协商缓存 当强缓存没有命中的时候,浏览器一定会发送一个请求到服务器,通过服务器端依据资源的另外一些http header验证这个资源是否命中协商缓存,如果协商缓存命中,服务器会将这个请求返回(304),若未命中请求,则将资源返回客户端,并更新本地缓存数据(200)。

HTTP头信息控制缓存

Expires(强缓存)+过期时间   ExpiresHTTP1.0提出的一个表示资源过期时间的header,它描述的是一个绝对时间

Cache-control(强缓存) 描述的是一个相对时间,在进行缓存命中的时候,都是利用客户端时间进行判断 管理更有效,安全一些 Cache-Control: max-age=3600

Last-Modified/If-Modified-Since(协商缓存) 标示这个响应资源的最后修改时间。Last-Modified是服务器相应给客户端的,If-Modified-Sinces是客户端发给服务器,服务器判断这个缓存时间是否是最新的,是的话拿缓存。

Etag/If-None-Match(协商缓存) etag和last-modified类似,他是发送一个字符串来标识版本。

你可能感兴趣的:(2018/2/12 面试题刷题第七天)