HTTP/1.1中实体的年龄是多少

HTTP/1.1中实体的年龄是多少,http,cache-control,if-modified-since,Http,Cache Control,If Modified Since,我为这个问题挣扎了好几天 缓存中存储的对象的年龄是多少。特别是,我想知道云锋。如果我指定 缓存控制:最大年龄=60,公共 当我以T=N上传时,10分钟过去了,我的实体的官方年龄是600秒吗?换句话说,一个实体的年龄现在是-T吗 例如,如果我将一个文件推送到S3中,过期日期为30分钟,然后我在一周内没有推送它的新版本,那么CloudFront会在每个请求上重新验证(如果修改后会得到)该实体吗?还是每隔30分钟重新验证一次实体,并在每次重新验证后将年龄设置回0 我在这里寻找了年龄的定义,但我不太确定

我为这个问题挣扎了好几天

缓存中存储的对象的年龄是多少。特别是,我想知道云锋。如果我指定

缓存控制:最大年龄=60,公共

当我以T=N上传时,10分钟过去了,我的实体的官方年龄是600秒吗?换句话说,一个实体的年龄现在是-T吗

例如,如果我将一个文件推送到S3中,过期日期为30分钟,然后我在一周内没有推送它的新版本,那么CloudFront会在每个请求上重新验证(如果修改后会得到)该实体吗?还是每隔30分钟重新验证一次实体,并在每次重新验证后将年龄设置回0

我在这里寻找了年龄的定义,但我不太确定答案是什么:


< P> <代码> max Actudio指令指定时间,以秒为单位,客户端应考虑给定URL中的内容无效。

这意味着,如果您的最大存储时间为10分钟,则在瞬间t获取资源,然后如果您需要在t+9分钟获取内容,例如,它将不会被获取。但其有效期在客户端保持不变


这意味着在t+10分钟后的任何时刻,内容都将被再次提取,并重新计算其到期时间(因为它可能在这期间发生了变化)

至少,客户应该这样操作


MAX年龄=0等于“总是再次获取资源”。

< P> >代码> max年龄> /Cult>指令指定时间,以秒为单位,客户端应考虑给定URL中的内容无效。

这意味着,如果您的最大存储时间为10分钟,则在瞬间t获取资源,然后如果您需要在t+9分钟获取内容,例如,它将不会被获取。但其有效期在客户端保持不变


这意味着在t+10分钟后的任何时刻,内容都将被再次提取,并重新计算其到期时间(因为它可能在这期间发生了变化)

至少,客户应该这样操作


max age=0相当于“始终再次获取该资源”。

“这意味着在t+10分钟后的任何时刻,内容都将再次获取,并重新计算其过期时间(因为它可能在这段时间内发生了变化)。”但如果它没有变化,重新设置过期时间是否有意义?客户端不关心,它只关心服务器告诉它什么。如果服务器位于此处,则客户端没有故障;)请注意,我所说的不仅仅是内容过期。在两次调用之间,服务器配置本身可能已更改,但在任何情况下,客户端都不需要知道。它信任服务器告诉它的内容。换句话说,如果一段内容在服务器上,并且在两周内保持不变,并且服务器指定的最大年龄=1800(30分钟),客户端将很高兴每30分钟返回一次,但不再频繁(假设它仍在缓存中)。这就是我想要的行为。它基本上意味着,“如果我更改了该特定实体的内容,它将在30分钟内在客户端中更新。”好吧,不是真的:“客户端将高兴地每30分钟回来一次”,这意味着在t+10分钟后的任何时刻,内容将再次获取,并重新计算其到期时间(因为它可能同时改变了)。“但如果它没有改变,重新设置过期时间有意义吗?客户端不关心,它只关心服务器告诉它的内容。如果服务器撒谎,客户端在这里就没有错;)请注意,我说的不仅仅是内容过期。在两次调用之间,服务器配置本身可能已更改,但在任何情况下,客户端都不需要知道。它信任服务器告诉它的内容。换句话说,如果一段内容在服务器上,并且在两周内保持不变,并且服务器指定的最大年龄=1800(30分钟),客户端将很高兴每30分钟返回一次,但不再频繁(假设它仍在缓存中)。这就是我想要的行为。它基本上意味着,“如果我更改了特定实体的内容,它将在30分钟内在客户端中更新。”嗯,不是真的:“客户端将很高兴每30分钟回来一次”