Method for executing an application program comprising: caching a cacheable application program component received from an original computing device; receiving from a client computing device a request for executing a component of the application program; determining whether or not the request relates to the cacheable application program component that has been cached; directing, by a direction component, the request to the cacheable application program component in response to determining (716, YES) that the request relates to the application program component that has been cached, and; otherwise (716, NO), passing the request to the original computing device; wherein the steps of caching, receiving, determining, directing and passing are performed by a caching computing device, and directing the request to the cacheable application program component that has been cached comprises executing the application program component by the caching computing device for the client computing device in lieu of execution by the original computing device for the client computing device, and wherein the direction component comprises: a first handler to determine whether the request comprises an application program component request for any cacheable application program component that has been cached, a second handler (506 a-n) for the application program component that has been cached, and a third handler to receive the request from the first handler in response to the first handler determining (716, YES) that the request comprises an application program request for any cacheable application program component that has been cached, and to direct the request to the second handler (506 a-n) in response to determining that the request relates to the application program component that has been cached. caching a cacheable application program component received from an original computing device; receiving from a client computing device a request for executing a component of the application program; determining whether or not the request relates to the cacheable application program component that has been cached; directing, by a direction component, the request to the cacheable application program component in response to determining (716, YES) that the request relates to the application program component that has been cached, and; otherwise (716, NO), passing the request to the original computing device; wherein the steps of caching, receiving, determining, directing and passing are performed by a caching computing device, and directing the request to the cacheable application program component that has been cached comprises executing the application program component by the caching computing device for the client computing device in lieu of execution by the original computing device for the client computing device, and wherein the direction component comprises: a first handler to determine whether the request comprises an application program component request for any cacheable application program component that has been cached, a second handler (506 a-n) for the application program component that has been cached, and a third handler to receive the request from the first handler in response to the first handler determining (716, YES) that the request comprises an application program request for any cacheable application program component that has been cached, and to direct the request to the second handler (506 a-n) in response to determining that the request relates to the application program component that has been cached. a first handler to determine whether the request comprises an application program component request for any cacheable application program component that has been cached, a second handler (506 a-n) for the application program component that has been cached, and a third handler to receive the request from the first handler in response to the first handler determining (716, YES) that the request comprises an application program request for any cacheable application program component that has been cached, and to direct the request to the second handler (506 a-n) in response to determining that the request relates to the application program component that has been cached.