Make cacheable more portable

Move the cacheable code to the Http class and allow the client configuration to be cached in the browser