Web services are becoming increasingly complex as users become more experienced in their requests to access an ever growing collection of information on the Web. In this paper we review the state of the art in programmable HTTP proxies. We discuss and present the evolution of HTTP proxies and present some of the environments that were proposed to support the design and implementation of proxy-based services. Then, we present a new computational model, called collateral-push, that is well suited for several proxy applications whose goal is to cope with the dynamics of the Web. Finally, after presenting existing examples of the collateral-push services in the literature, we present some new examples that were quickly prototyped using two programmable proxy environments.