zoukankan      html  css  js  c++  java
  • 浏览器缓存问题

    cookie localStorage sessionStorage区别

    原文链接:http://caibaojian.com/http-cookie.html

    会话cookie: 是一种临时的cookie,它记录了用户访问站点时的设置和偏好,关闭浏览器,会话cookie就被删除了·

    持久cookie: 存储在硬盘上,(不管浏览器退出,或者电脑重启,持久cookie都存在), 持久cookie有过期时间


    来源:前端开发博客

    相同点:都存储在本地

    异同:cookie参与通信,通信时被放在请求头参与通信,有过期时间,可设置

    LocalStorage和sessionStorage不参与通信,LocalStorage无过期时间一直存在,sessionStorage在关闭网页前有效

    看浏览器缓存分为强缓存和协议缓存

    当请求时,会先到缓存内找header看是否并重强缓存,是则读取缓存的页面,否则发起请求,把缓存的header发送给后台,后台读取并进行对比,如果命中协议缓存,发送一份新的header给浏览器,但是并不发送资源,请求还是从缓存里读取资源,否则从新发送新的资源到浏览器

    原文链接:http://caibaojian.com/browser-cache.html

    • 浏览器会先获取该资源缓存的header信息,根据其中的expirescahe-control判断是否命中强缓存,若命中则直接从缓存中获取资源,包括缓存的header信息,本次请求不会与服务器进行通信;
    • 如果没有命中强缓存,浏览器会发送请求到服务器,该请求会携带第一次请求返回的有关缓存的header字段信息(Last-Modified/IF-Modified-Since、Etag/IF-None-Match),由服务器根据请求中的相关header信息来对比结果是否命中协商缓存,若命中,则服务器返回新的响应header信息更新缓存中的对应header信息,但是并不返回资源内容,它会告知浏览器可以直接从缓存获取;否则返回最新的资源内容



  • 相关阅读:
    WPF程序国际化
    MVVM框架搭建
    最全前端开发面试问题及答案整理
    最小化运行批处理
    C#中App.config文件配置获取
    VS2017 打包成exe
    Inno Setup生成桌面快捷方式
    C#文件读写(txt 简单方式)
    Flume 学习笔记之 Flume NG概述及单节点安装
    快学Scala 第二十课 (trait的构造顺序)
  • 原文地址:https://www.cnblogs.com/mttcug/p/8574500.html
Copyright © 2011-2022 走看看