浏览器缓存

浏览器首次发起请求后,会根据响应的请求结果和缓存标志判断是否需要浏览器缓存,然后再次请求时根据请求结果和缓存标志判断是否请求缓存中的内容

1. 浏览器的缓存机制

I. 浏览器发送请求前,根据请求头的expires和cache-control判断是否命中(包括是否过期)强缓存策略,如果命中,直接从缓存中获取资源,并且不会发送请求,状态码依然为200。

II. 没有命中强缓存,浏览器就会发送请求,根据请求头的last-modified和etag判断是否命中协商缓存,如果命中直接从缓存中获取,状态码为304。

III. 如果都没有命中,就直接从服务端获取资源,成功状态码为200。

2. 缓存的好处

浏览器缓存是web性能优化中简单高效的方式 I. 请求静态资源(js,css,图片等不容易变化的资源),请求变得更快。

II. 加快了客户端加载网页的速度,提高了页面的响应速度。

III. 减少了冗余数据的传递,节省了网络带宽流量

IV. 减少服务端的负担,提高了网站的性能

3. 缓存应用场景

I. 频繁变动的资源使用 Cache-Control: no-cache

II. 不常变化的资源使用Cache-Control: max-age=31536000(一年)

4. 用户行为对浏览器缓存的影响

  • 地址栏回车,前进后退不会刷新缓存
  • 普通刷新(F5):会刷新强制缓存,协商缓存依然存在,Memory Cache优先于Disk Cache
  • 强制刷新(Ctrl + F5):浏览器不使用缓存,缓存失效了

results matching ""

    No results matching ""