• 缓存


    浏览器的缓存:

    1. 先根据这个资源的一线http header 判断他是否强缓存,如果是,则直接从本地获取缓存资源,

        不会发请求到服务器;
    2. 当强缓存没有缓存时,客户端发送请求到服务器,服务器通过另一线request header验证这个资源是否协商缓存,
        称为http在验证,如果没有,服务器将请求返回,但不会返回资源,而是告诉客户端直接从缓存中获取,

         客户端收到返回后就 会缓存中获取资源;
    3. 强缓存和协商缓存共同之处在与,如果没有缓存,服务器都不会返回资源;
    4. 区别是: 强缓存不对发送请求到服务器,但协商缓存会;
    5. 当协商缓存也没有缓存时,服务器就会将发送回客户端;
    6. 当 ctrl+F5 强制刷新网页时,直接从服务器加载,跳过强缓存和协商缓存;
    7. 当F5刷新网页时,跳过强缓存,但是会检查协商缓存;

    强缓存:

    1、 Expires(改字段 http1.0 时的规范,值为一个绝对时间的GMT 格式的时间字符串,代表缓存资源的过期时间):
    2、 Cache-Control:max-age(改字段是 http1.1的规范,强缓存利用max-age 值来判断缓存资源的(协商缓存)生命周期,它 的值 单位为秒);

    协商缓存:

    1. Last-Modified

         (值为资源***更新时间,随服务器reponse);
    2. if-Modified-Since

      (通过比较两个时间来判断资源在两次请求期间是否有过修改,如过没有修改,则***协商缓存);
    3. ETage

      (表示资源内容的唯一表示,随服务器response返回);
    4. if-Node-Match

    (服务器通过比较请求头部的if-Node-Match 与当前资源的ETag是否一质来判断资源是否在量词请求
       之间有过修改,如果没有修改,则*** 协商缓存)

  • 相关阅读:
    rest_framework学习之路
    jQuery操作cookie
    Cookie和Session
    HTTP之Content-Type
    HTTP协议
    Python之random模块
    HTML5(FileRdeader)
    Python之re模块
    LINQ基础 之 LINQ TO SQL (二)
    LINQ基础(一)
  • 原文地址:https://www.cnblogs.com/yjzs/p/12073774.html
Copyright © 2020-2023  润新知