java - 检查一个 url 中的更新,无需下载整个文件

标签 java android caching

我已经实现了一个将 url 缓存到文件系统(Android java)的系统,工作方式如下:

  • 给定一个 url,文件将下载到/one_folder/hash(url).file

  • 对该 URL 的下一个请求首先检查该文件是否存在。如果是,则返回文件,否则重复下载。

问题是,如果没有实现额外的逻辑并且 url 处的文件发生更改,则永远不会检测到它(因为缓存总是成功)。

我该如何改进?是否有更好的系统为缓存文件分配过期日期并在过期时重新下载?

谢谢

最佳答案

下载文件时检查 HTTP header 。在那里您可能会找到缓存规则、内容过期日期等。

或者您可以发出 HEAD 请求而不是 GET 请求,并且仅获取 http header (而不是内容/文件)并比较上次修改或文件大小(内容长度)。

关于java - 检查一个 url 中的更新,无需下载整个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10405110/

相关文章:

java - For循环在java中显示多个消息框

java - 在 Android 中连接到服务器时切换网络

PHP 性能,从文件读取还是读取数据库?

android - 仅当缓存时发生错误:通过改型实现缓存

Javascript 返回语句错误

java - Android GridView 可二维滚动

java - Java 类如何获取输入?

java - 图像绘制适用于 JFrame,但不适用于 JPanel

Android 将 View 转换为位图

android - NavUtils.shouldUpRecreateTask 在 JellyBean 上失败