有没有办法在HTTP(缓存)响应中指定文件的替代路径?

问题描述 投票:0回答:1

这个想法是为了优化缓存行为,因此当有大文件请求时

/my/10/file1.txt
,服务器可以指定相同的文件可以用作
/my/current/file1.txt
的响应?

是否有任何其他“标准”/“广泛使用”的机制来实现相同的目的(两个位置的请求太多,因此添加重定向不是可接受的解决方案)。

http cache-control
1个回答
0
投票

在 HTTP 缓存的上下文中,实现您所描述的内容的标准机制是使用

Cache-Control
标头以及适当的缓存指令。
Cache-Control
标头允许您控制缓存行为的各个方面,包括缓存的响应是否可以重用于后续请求。

以下是如何构建

Cache-Control
标头的示例:

Cache-Control: public, max-age=3600

在此示例中,

public
指令指示中间代理和客户端都可以缓存响应。
max-age
指令指定在需要通过服务器重新验证响应之前可以缓存响应的最长时间(以秒为单位)。

当客户端请求

/my/10/file1.txt
时,服务器可以使用上面提到的
Cache-Control
标头进行响应,随后,当在
/my/current/file1.txt
请求相同内容时,客户端和中间代理(如果有)将被允许重用只要在指定的
max-age
期间内,就会缓存响应。

其他机制(例如重定向)在控制缓存内容的 URL 映射方面可能会更精确。但是,您提到在您的情况下添加重定向不是可接受的解决方案。

除了缓存机制之外,还可以考虑使用内容交付网络 (CDN) 或其他基础设施解决方案来优化将内容分发到不同位置,并根据您的具体要求更有效地处理缓存。

© www.soinside.com 2019 - 2024. All rights reserved.