An apparatus comprising: a proxy server module adapted to, in a case where a web browser of a client device has generated a first HTTP GET request for a first URL, (a) receive from a client proxy device or a proxy software program in the client device, the first HTTP GET request, (b) generate a second HTTP GET request for the first URL, (c) transmit via a network interface the proxy server module's second HTTP GET request for the first URL, (d) receive, via a network interface from a web server (300, 301) associated with the first URL, a second HTTP response to the proxy server module's second HTTP GET request for the first URL, and (e) in accordance with the second HTTP response, transmit via a network interface first data so as to cause the web browser of the client device to receive a first HTTP response to the web browser's first HTTP GET request for the first URL; wherein the second HTTP response includes an HTML document, the HTML document including a Javascript; a control module acting as a proxy to a virtual browser of the apparatus, wherein the control module is adapted to - (a) command the virtual browser to generate a third HTTP GET request for the first URL; - (b) intercept the third HTTP GET request generated by the virtual browser; - (c) return to the virtual browser a third HTTP response including the HTML document and the Javascript of the second HTTP response; and a Javascript execution module of the virtual browser adapted to execute the Javascript included in the third HTTP response; wherein a memory and processor are included in the apparatus; wherein the proxy server module is adapted to pre-fetch web content from a second URL determined in accordance with the execution of the obtained Javascript included in the third HTTP response by the Javascript execution module, and wherein the proxy server module is configured to send a notification to the client proxy device or the proxy software program in the client device that the proxy server module is pre-fetching the content of the second URL for the client device and that the content of the second URL will be subsequently sent to the client proxy device or the proxy server program in the client device so as to prevent that a fifth HTTP GET request is received in the apparatus generated by the client device for the second URL, wherein the control module relays the pre-fetched web content to the client proxy device or the proxy software program in the client device. a proxy server module adapted to, in a case where a web browser of a client device has generated a first HTTP GET request for a first URL, (a) receive from a client proxy device or a proxy software program in the client device, the first HTTP GET request, (b) generate a second HTTP GET request for the first URL, (c) transmit via a network interface the proxy server module's second HTTP GET request for the first URL, (d) receive, via a network interface from a web server (300, 301) associated with the first URL, a second HTTP response to the proxy server module's second HTTP GET request for the first URL, and (e) in accordance with the second HTTP response, transmit via a network interface first data so as to cause the web browser of the client device to receive a first HTTP response to the web browser's first HTTP GET request for the first URL; wherein the second HTTP response includes an HTML document, the HTML document including a Javascript; a control module acting as a proxy to a virtual browser of the apparatus, wherein the control module is adapted to - (a) command the virtual browser to generate a third HTTP GET request for the first URL; - (b) intercept the third HTTP GET request generated by the virtual browser; - (c) return to the virtual browser a third HTTP response including the HTML document and the Javascript of the second HTTP response; and - (a) command the virtual browser to generate a third HTTP GET request for the first URL; - (b) intercept the third HTTP GET request generated by the virtual browser; - (c) return to the virtual browser a third HTTP response including the HTML document and the Javascript of the second HTTP response; and a Javascript execution module of the virtual browser adapted to execute the Javascript included in the third HTTP response; wherein a memory and processor are included in the apparatus; wherein the proxy server module is adapted to pre-fetch web content from a second URL determined in accordance with the execution of the obtained Javascript included in the third HTTP response by the Javascript execution module, and wherein the proxy server module is configured to send a notification to the client proxy device or the proxy software program in the client device that the proxy server module is pre-fetching the content of the second URL for the client device and that the content of the second URL will be subsequently sent to the client proxy device or the proxy server program in the client device so as to prevent that a fifth HTTP GET request is received in the apparatus generated by the client device for the second URL, wherein the control module relays the pre-fetched web content to the client proxy device or the proxy software program in the client device.