mount.davfs (from davfs2) allows one to mount a WebDAV server into the local filesystem. However, even if you want to read only one byte from a file, davfs2 will block until it downloads the whole file (which could be huge). For example, this blocks (virtually) forever on a WAN link.
dd if=/mnt/webdav/1GB.bin bs=1M count=1 of=1M.bin
The process can't be killed until the whole file is downloaded. (But you can force unmount, I suppose.)
In the following command, davfs2 downloads the whole file before passing a single byte to gzip:
pv < 100MB.bin | gzip > 100MB.bin.gz
I can bare with the problem in the first case (by avoiding it), but for the second case I need the filesystem driver to pass the data to the reading process as soon as the fs driver recieves the data, not after the whole file is downloaded. Are there any alternatives to davfs2 that can do this?