this seems really expensive in terms of a network call (and its io bound on the disk too)... Does the server support etags? We can dramatically cut costs by doing a  If-None-Match request (or maybe its If-Match I get them mixed up sometimes =p)