【发布时间】:2011-11-23 17:47:22
【问题描述】:
我们有一个通过 HTTP 获取资源的 Java 进程。我发现即使在客户修改后一个资源也没有正确提取。深入研究后,我发现在服务器上运行该进程的资源的 Last-Modified 日期与我从浏览器查看信息时看到的不匹配。然后我尝试从不同的服务器和我的笔记本电脑上获取它,它们都显示了正确的日期。
我已经对该过程进行了修补,以允许在存在的情况下忽略标题日期的选项(但会不正确),但我真的很想知道为什么会发生这种情况。
这里的参考是来自服务器的 curl 响应,它返回了不正确的信息。
HTTP/1.1 200 OK
Server: Sun-ONE-Web-Server/6.1
Date: Fri, 23 Sep 2011 14:16:57 GMT
Content-length: 132
Content-type: text/plain
Last-modified: Wed, 15 Sep 2010 21:58:20 GMT
Etag: "84-4c91417c"
Accept-ranges: bytes
然后在不同的服务器上进行相同的请求(在我的机器上也得到相同的结果)
HTTP/1.1 200 OK
Server: Sun-ONE-Web-Server/6.1
Date: Fri, 23 Sep 2011 14:18:47 GMT
Content-length: 132
Content-type: text/plain
Last-modified: Fri, 23 Sep 2011 01:20:43 GMT
Etag: "84-4e7bdeeb"
Accept-ranges: bytes
两台服务器都在 Fedora 10 上运行。
谁能为我解释一下这个问题,以及我如何才能长期解决这个问题?
【问题讨论】: