Roy Britten wrote:
Hi John, Thanks for your reply. On Mon, 26 Aug 2002, John Caron wrote:its extemely simple: instead of a RandomAccessFile, the library opens a HTTPRandomAccessFile. this uses the HTTP "Range" command to get ranges of bytes from the remote file. everything else is exactly the same, and no optimizations like caching are done, although i think buffering is done.From what I can see in the ucar.netcdf & ucar.nc2 packages, this is theonly point of entry into the HTTPClient package.
yes Is there some
fundamental reason why this package is used, in place of thefunctionality in java.net?
The HTTPRandomAccessFile was contributed (by Donald Denbo), and i think he used HTTPClient library simply because it got the job done. I have wanted to rewrite it in order to reduce the footprint, but am not that familiar with HTTP.
Would I be correct in assuming that a re-written HTTPRandomAccessFile.java, using java.net.URLConnections rather than HTTPClient.HTTPConnections, would remove all dependence on the HTTPClient package? This would allow us to initiate HTTPS connections.
It sounds likely now that i rethink it. my previous comment about having to read in entire file seems wrong now, as long as you can do the range command in HTTPClient.HTTPConnections.
it seems like you have a clear idea on how it could be done. if you are willing to implement it, i would be happy to assist in any way i can, including testing. it would be great to roll your contribution into the release so others could use it. in particular, HTTPS would be very useful. are there are other features you know of that we would get through this? in your use of java.net, would we need any specific version of JRE?
obvious guess is a problem with Tomcat range command, but it may be some minor thing (or an error we arent catching) that is unrelated.There was reportedly a bug in the handling of the Range header in that version of Tomcat. I've installed a later release and it appears to respond correctly. Thanks for the pointer.
great. what version of tomcat had the problem?