【发布时间】:2013-11-11 00:49:26
【问题描述】:
首先是我理解的事情:
1) 我可以发送一个 HTTP HEAD 请求,一个 200/2XX 响应码意味着内容可以在那里访问。
2) 我可以发送带有“Range”标头的 HTTP GET 请求,并且 206 响应代码表示内容可访问。
但是,如果给定的服务器不支持 HEAD 请求并且它不符合 Range 标头,更重要的是特定文件是一个非常大的文件。检查文件是否可访问的最佳方法是什么?显然我不想等待 10 分钟来下载整个文件。
我在 Google AppEngine 上使用带有基本 HttpUrlConnection 的 Java,因此某些特定库可能无法在此平台上运行。
我正在考虑最好的方法是发出 GET 请求并在第一个字节得到回复后终止它。但是,我找不到通过使用HttpUrlConnection 来实现此目的的方法。
希望有人在这里提供一些提示。
【问题讨论】:
-
也许您可以尝试
GET加上If-Modified-Since标头与未来日期(?)。如果内容存在且未被修改,它将以 304 响应。这可能不适用于在服务器端动态生成的内容。但是您提到它们是特定文件,因此,它可能会在服务器上具有最后修改的时间戳。
标签: java google-app-engine http-headers httprequest httpurlconnection