New iteration on the http cache, now caches by http path, uses global cache if local fails, and issues etags