标签: max-age

Golang Cookie Max-Age 与 Expire

Cookie 结构中的 Expires 和 Max-Age 有什么区别?我无法理解。

type Cookie struct {
    Name  string
    Value string

    Path       string    // optional
    Domain     string    // optional
    Expires    time.Time // optional
    RawExpires string    // for reading cookies only

    // MaxAge=0 means no 'Max-Age' attribute specified.
    // MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'
    // MaxAge>0 means Max-Age attribute present and given in seconds
    MaxAge   int
    Secure   bool
    HttpOnly bool
    SameSite SameSite
    Raw      string
    Unparsed []string // Raw text of unparsed attribute-value pairs
}
Run Code Online (Sandbox Code Playgroud)

cookies http go expires-header max-age

8
推荐指数
1
解决办法
9586
查看次数

如何知道资源是否真正从 chrome devtools 中的缓存加载?

在此输入图像描述

Chrome devtools 网络选项卡显示与缓存资源文件大小相同的“通过网络传输的数据”值。如果我阻止上图中出现的最后一个请求,则不会加载图片,但第二个请求仍然显示传输了相同数量的数据。如何知道图像资源是否真正从缓存中提取并节省了带宽?

注意:我正在使用 max-age 缓存控制策略,并且在 Firefox 中它显然有效。

caching cache-control http-headers google-chrome-devtools max-age

7
推荐指数
1
解决办法
3786
查看次数

用户代理可以在其请求中将max-age设置为大于零吗?

max-age在阅读Http Cache rfc后,我对行为有疑问.

场景:

用户代理

GET /foo
Run Code Online (Sandbox Code Playgroud)

Origin Server Response标头

cache-control: max-age=120
Run Code Online (Sandbox Code Playgroud)

服务器告诉用户代理在2分钟后应该重新验证所请求的资源.

1分钟后,用户代理发出另一个请求,指定max-age1分钟:

用户代理

cache-control: max-age=60
GET /foo
Run Code Online (Sandbox Code Playgroud)

据我所知,此请求应绕过用户代理缓存.
为什么?
虽然Origin Server告诉客户端资源应缓存2分钟,但用户代理需要一个最多1分钟的资源(max-age = 60).
从第一个开始经过1分钟和几秒钟后GET,该资源无效(从用户代理的角度来看),请求应直接进入原始服务器(或任何其他缓存层).

我对吗?是否可以从用户代理指定max-age大于零?它是否受到常见浏览器的支持/尊重?

在我工作的地方,我们有一个.NET自定义缓存机制,就像这样工作; 客户端可以指定max-age何时需要来自缓存的资源,该资源是"AT MOST"X秒.

caching http http-caching http-headers max-age

5
推荐指数
1
解决办法
366
查看次数

mozilla firefox 忽略缓存控制标头

我正在我的应用程序中加载一些缩略图图像,这些缩略图存储在谷歌云上,我已将缩略图对象公开并设置cache-control: public, max-age:2628000,这似乎在 chrome 上工作,我看到图像正在从缓存加载,但在 mozilla firefox 上这是不起作用,每当我重新加载页面时,我总是看到图像是从服务器请求的。我还检查了我没有disable cache签入开发人员工具,这是一个屏幕截图

在此输入图像描述

每次我看到字节传输并且图像没有从缓存加载。

对此的任何帮助将不胜感激。谢谢。

firefox cache-control browser-cache max-age

5
推荐指数
1
解决办法
4213
查看次数

如果Cache-Control具有"no-cache"和"max-age = 900",会发生什么?

:如果我设置的服务器响应,会发生什么 Cache-Control: private,no-cache,max-age=900?如果标题如下,会发生什么 Cache-Control: public,no-cache,max-age=900

既然它有no-cache浏览器(或代理服务器)是否考虑max-age

proxy caching no-cache fastly max-age

4
推荐指数
1
解决办法
750
查看次数

缓存控制中 max-age=0 和 max-age=-1 有什么区别?

Cache-control: max-age=0两个 header和之间的浏览器行为有什么区别Cache-control: max-age=-1

如果浏览器收到 max-age=0,它将立即重新验证缓存。如果浏览器收到 max-age=10,它将在 10 秒后重新验证缓存。max-age=-1 时浏览器的行为是什么?和 max-age=0 一样吗?如果是,为什么我们需要两者?

caching http cache-control max-age

4
推荐指数
1
解决办法
6206
查看次数