• Expires在HTTP/1.0中已经定义,Cache-Control:max-age在HTTP/1.1中才有定义,为了向下兼容,仅使用max-age不够;
  • Expires指定一个绝对的过期时间(GMT格式),这么做会导致至少2个问题:
    1)客户端和服务器时间不同步导致Expires的配置出现问题;
    2)很容易在配置后忘记具体的过期时间,导致过期来临出现浪涌现象;
  • max-age 指定的是从文档被访问后的存活时间,这个时间是个相对值(比如:3600s),相对的是文档第一次被请求时服务器记录的Request_time(请求时间)
  • Expires指定的时间可以是相对文件的最后访问时间(Atime)或者修改时间(MTime),而max-age相对对的是文档的请求时间(Atime)
  • 在Apache中,max-age是根据Expires的时间来计算出来的max-age = expires- request_time:(mod_expires.c)

    429 expires = base + additional;
    430 apr_table_mergen(t, "Cache-Control",
    431 apr_psprintf(r->pool, "max-age=%" APR_TIME_T_FMT,
    432 apr_time_sec(expires - r->request_time)));
    

    注:如果是A,base=request_time,M的话base=finfo.mtime.
    expires - request_time得到max-age,如果Expires根据的是A(也就是AccessTime)设置的(A后面的值就是addtional),那么expires设置的值就等于addtional值,但是如果Expires根据的是Mtime,那么如果M后面的参数小于最后修改时间到当前时间的差(比方说2小时前修改了文件(19:00:00),现在设置M3600(现在是21:00:00)并且访问,max-age=expires-request_time = (finfo.mtime+additional)- request_time),计算出的max-age就是负数(可以试验看到这个结果):

    max-age = (19:00:00+3600/3600) - 21:00:00 = -3600s
    

    这样,在Apache中,max-age就不仅仅是相对Atime的时间了,如果设置为M,相对的是Mtime。

cookie expires和max-age的区别相关推荐

  1. cookie的max age

    max age=0   命令浏览器立即删除该cookie max age 设置为负值的话,命令浏览器保存该cookie,关闭浏览器就失效.

  2. Cookie和Session的作用,区别和各自的应用范围,Session工作原理

    Cookie和Session的作用与区别 Session用于保存每个用户的专用信息. 每个客户端用户访问时,服务器都为每个用户分配一个唯一的会话ID(Session ID) . 她的生存期是用户持续请 ...

  3. 一文读懂cookie、sessionStorage和localStorage的区别

    cookie.sessionStorage和localStorage的区别 cookie 什么是cookie? cookie的构成 cookie的特点 Cookie并不提供修改.删除操作 封装setC ...

  4. 大数据WEB阶段(十二)会话技术、Cookie、Session及两者的区别

    会话技术 – Cookie与Session及其两者的区别 (一)会话技术 一.概述 1. 一个浏览器为了实现某一个功能对服务器产生了多次请求响应.从第一个请求开始访问服务器,会话开始,到最后一个页面访 ...

  5. Cookie与Session的联系与区别

    2019独角兽企业重金招聘Python工程师标准>>> 什么是Session?Session什么时候产生?    Session:在计算机中,尤其是在网络应用中,称为"会话 ...

  6. *.3ds文件格式与*.max文件格式的区别

    问题: *.3ds文件格式与*.max文件格式的区别? 解答: *ds格式是老牌了,3dsmax的前身3dstudio的文件格式,当时也是业界的通用标准格式之一,所以现在仍然可以看到.这个格式能稳定地 ...

  7. Pytorch:.max(0)和.max(1)的区别?

    Pytorch 中.max(0)和.max(1)的区别是什么? 当我们有一个形状为 ( m , n ) (m, n) (m,n) 的 Tensor x x x 时,其中 m m m 表示行数, n n ...

  8. Cookie和Session和Token的区别联系

    目录 发展史 2 Cookie 3 Session 3.1 cookie和session的区别 4 Token 4.1 传统方式--基于服务器的验证 4.2 基于服务器验证方式暴露的一些问题 4.3 ...

  9. cookie以及Storage的共同点、区别与使用

    文章目录 一. Storage浏览器本地存储 1-1 localStorage与 sessionStorage 1-2 使用 1-3 手写一个会过期的localStorage 1-3-1 惰性删除 1 ...

最新文章

  1. python querystring encode_百分号 json
  2. MySQL中修改密码及访问限制设置详解
  3. python打不开怎么办-python为什么打不开
  4. linux 文件解压 压缩
  5. 模糊数学笔记:七、模糊综合评判决策
  6. 10 个小技巧:快速用 Python 进行数据分析
  7. java to对象_java中同类对象之间的compareTo()和compare()方法对比分析
  8. MySQL基础总结(一)
  9. 零基础应该先学习 java、php、前端 还是 python?
  10. Linux 6.5选包截图
  11. 一文详解Attention机制
  12. 品优购-01分布式框架-Dubbox
  13. Origin申请、安装和激活手记
  14. x264源码分析与应用示例(二)——码率控制
  15. 软交换总结之二-七号信令
  16. 数据库SUSPECT(置疑)状态如何解决
  17. paddleocr文本识别模型的训练
  18. RS485自收发实现方案,典型应用电路及问题经验总结
  19. python 按键精灵识图_Python实现按键精灵(二)-找图找色
  20. gzip压缩文件损坏的修复方法

热门文章

  1. 带你了解SN74LVC245ADWR
  2. [iOS]图表(UUChartView)
  3. DBCO-PEG15-amine,DBCO-PEG15-NH2,二苯并环辛炔-十五聚乙二醇-氨基科研试剂供应
  4. 用户画像 - 挖掘标签
  5. excel 两组数据交点_如何在百万级的数据里找到别人正在赚钱的项目?【实操长文】...
  6. nginx配置 外网参考
  7. 阿里云的短信验证码(详细)
  8. 全球气象数据下载总结-CRU数据,ERA数据NCEP-2数据
  9. 设置网站页面标题的注意事项
  10. 【Vue.js】Vue.js组件库Element中的图片、回到顶部、无限滚动和抽屉