zoukankan      html  css  js  c++  java
  • 缓存

    当web缓存发现请求的资源,浏览器拦截请求,返回该资源的拷贝,而不会去源服务器重新下载。

    优点:缓解服务器端压力,提升性能(减少网页加载速度)提高用户体验。

    浏览器缓存有两种方式:强缓存和协商缓存。

    请求资源时浏览器怎么知道是强缓存还是协商缓存?

    用户首次请求并获取到该资源后,根据返回的信息来告诉如何缓存资源,可能采用的是强缓存,也可能告诉客户端浏览器是协商缓存,这都需要根据响应的header内容来决定。

    强缓存:

    (1)过程

    用户请求访问过的资源,浏览器拦截请求,查看该资源的强缓存相关header字段来判断资源是否过期。若过期即命中强缓存,直接从本地获取资源来展示给用户,若没有命中强缓存,则从服务器重新加载资源或者进去协商缓存流程(如果资源同时设置了强缓存和协商缓存)

    (2)相关header字段

    一个未来时间,浏览器再次加载资源时,如果在这个过期时间内,则命中强缓存。

    cache -contorl:

    当值设为max-age = 300 时。 则代表在这个请求正确返回时间的5分钟再次加载资源,就会命中强缓存。

    协商缓存:

    用户请求访问过的资源,请求头携带相关header字段去跟服务器的对应相关header字段做对比,由服务器判断资源是否修改,未修改则命中协商缓存,服务器返回304状态,不返回资源,浏览器获取本地资源。若资源被修改,则返回200状态。

    强缓存和协商缓存的区别

    强缓存是浏览器(判断是否命中后)单方面做决定是否向服务器发起请求,比较强势,若命中则不会与服务器进行任何通信。而协商缓存是浏览器与服务器(相关字段的校对)双方是否返回新资源

    一般将一些不常更新的静态资源设置强缓存加协商缓存,而类似index.html等更新频繁的资源设置为协商缓存。

    以上是http缓存,前端缓存还有浏览器缓存。

    浏览器缓存分:本地缓存和默认缓存。

    localStorage,sessionStorage .

    cookie主要用于用户信息的存储,Cookie 的内容可以自动在请求的时候被传递给服务器。

    localStorage 的数据将一直保存在浏览器内,直到用户清除浏览器缓存数据为止。

  • 相关阅读:
    vagrant 命令+配置+入门案例
    博客园皮肤 Cnblogs-Theme-SimpleMemory
    Vue:前后端交互、路由
    Vue :模块化
    Vue:组件开发
    Vue :模板语法
    ssm实战(11)-----用户功能开发
    ssm实战(10)-----通用功能开发(Windows环境下配置)
    ssm实战(9)-----前端开发(Windows环境下配置)
    spring boot实战——微信点餐系统03:微信授权(用户授权),免费内网穿透(固定ip)
  • 原文地址:https://www.cnblogs.com/panax/p/13396849.html
Copyright © 2011-2022 走看看