码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • http协议的缓存机制


    浏览器的缓存分为两类:强缓存和协商缓存
    所谓的强缓存就是本地缓存,当请求资源的时候直接从本地缓存中调取资源,
    而协商缓存则是由服务器来确定缓存资源是否可用
    决定强缓存的两个重要字段是cathe-control和expires,expires的值为一个绝对时间的GMT格式的时间字符串,如果请求时间在expires之前则缓存可用,否则就会向服务器发送请求
    cathe-control:max-age=number,该number是一个设定的有效期,根据第一次获取资源的时间加上该有效期就能计算出该资源失效的时间,如果请求时间在失效时间之前则则说明缓存依然可用
    否则就要重新发送请求
    协商缓存对应的是两组信息:Etag/if-none-match,last-modified/if-modified-since
    last-modified / if-modified-since的值都是GMT格式的字符串,在第二次请求的资源时header头部就会携带if-modified-since值就是上次请求时返回的last-modified值,
    服务器再次受到请求后,会根据传过来的if-modified-since和资源的最后修改时间对比,如果相同就直接返回304Notmodified,那么客户端就直接从缓存中获取数据,但是如果不同,那么就把新的资源返回给客户端。
    Etag/if-none-match是服务器生成的每个资源的唯一标示符,一旦资源发生变化Etag就会发生变化,其判断过程与modified类似。
    Etag主要用来解决两个问题:
    一些服务器不能精确获取到最后文件修改的时间
    某些文件的修改频率过于频繁,比如说是在秒一下的时间修改,但是if-modified-since的精确粒度是s,所以需要使用到Etag。
    如果Etag和last-modified同时存在的话,那么优先检测ETag。

  • 相关阅读:
    【好书推荐】《Python编程:从入门到实践(第2版)》
    算法设计与分析作业——递归循环
    nginx 教程
    shell脚本编程问题
    精灵宝可梦属性克制表(精灵属性相克图)
    软件测试周刊(第82期):其实所有纠结做选择的人心里早就有了答案,咨询只是想得到内心所倾向的选择。
    qt day4
    手写HashMap(基于JDK1.7)
    最全HTTP/HTTPS面试题整理(三)
    【推荐】数字化转型和案例及IT规划资料整理合集
  • 原文地址:https://blog.csdn.net/duancsdn/article/details/126075314
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号