我制作了一个程序,它从我的站点读取一个文本文件,该文件提供 md5 校验和和所需 jar 文件的最新链接。然后程序将评估给定的 md5 校验和与本地文件的校验和,并在必要时下载它。但是,这有一个问题,如果有快速更新,程序将不断下载,因为它获取的是文件的缓存副本,而不是实际的实时版本。有没有什么办法解决这一问题?
问问题
948 次
1 回答
1
您可以将某些缓存控制标头添加到 HTTP 请求和/或响应中,以防止使用缓存副本。也可以禁止对整个站点进行缓存,尽管这通常是不明智的。有关添加内容的详细信息,请参阅规范。
具体来说,您可以添加此标头:
cache-control: no-cache
到请求标头。有关更多cache-control
语法,请参见此处。
请注意,某些 HTTP 缓存并不总是尊重这些标头,因此您可能需要采取其他步骤,例如将所谓的“缓存清除”额外数据添加到 URI。例如,请参阅此线程以了解一种此类技术。
如果您可以使用 POST 而不是 GET,那应该消除大多数缓存问题,因为不应缓存 POST 响应。
于 2013-07-21T05:09:22.693 回答