https://www.example.com/Image/test.jpg?version=1&time=1651752743
。 https://www.example.com/Image/test.jpg?version=2&time=1651758319
。 version
参数不同,将会有版本的区分,以上请求分别为两张不同的图片,此时应在 Cache Key 中保留会影响文件版本的参数version
,来保证节点能正确缓存并响应对应的文件内容。?
之后的字符串参数(包含一个或多个参数,用 &
分隔),例如:https://www.example.com/images/example.jpg?color=blue&size=large
中的 color=blue&size=large
。https://www.example.com/Image/test.jpg?version=1&type=a
。https://www.example.com/Image/test.jpg?version=2&type=a
。https://www.example.com/Image/test.jpg?type=a&version=1
。配置 | 缓存行为 |
查询字符串配置为全部保留 | 请求 A 和请求 B 所携带参数内容不同,对应不同的缓存版本,请求 A 和请求 C 参数内容一致,但是顺序不同,也对应不同的缓存版本。 |
查询字符串配置为全部忽略 | 请求 A、B、C 均对应同一份缓存版本。 |
查询字符串配置为保留指定参数 Type | 请求 A、B 的参数顺序及内容完全一致,对应同一份缓存版本;请求 B 和请求 C 的 参数内容相同,但是顺序不同,对应不同的缓存版本。 |
查询字符串配置为忽略指定参数 Type | 请求 A 和请求 B 剩余参数的内容不一致,对应不同的缓存版本;请求 A 和请求 C 剩余参数的内容一致,但是顺序不一致,对应不同的缓存版本。 |
User-Agent
加入缓存键计算中,以下请求 A 与请求 B 的 URL 及参数内容一致,但是 User-Agent
头内容不一致,将对应不同的缓存版本。https://www.example.com/Image/test.jpg?version=1&type=a
,携带 User-Agent:chrome
。https://www.example.com/Image/test.jpg?version=1&type=a
,携带 User-Agent:ios
。User
加入缓存键计算中,以下请求 A 和请求 B 参数内容相同,对应同一份缓存,请求 A 与请求 C 参数内容不同,对应不同版本的缓存。https://www.example.com/Image/test.jpg?version=1&type=a
,携带 Cookie:User=A;ID=1
。https://www.example.com/Image/test.jpg?version=1&type=a
,携带 Cookie:User=A;ID=2
。https://www.example.com/Image/test.jpg?version=1&type=a
,携带 Cookie:User=B;ID=1
。
本页内容是否解决了您的问题?