A proxy server apparatus, wherein the proxy server apparatus is adapted to receive, from a client device, a first HTTP GET request (1600, 1601) for a first URL, generate a second HTTP GET request for the first URL, transmit via a network interface the second HTTP GET request to a web server associated with the first URL, receive, from the web server, a first HTTP response to the second HTTP GET request, insert Javascript into a HTML document of the first HTTP response, send a second HTTP response (1605, 1606) containing the Javascript to the client device, wherein the Javascript, when processed by a web browser of the client device, causes the client device to extract web-browser-specific information relating to a characteristic of the web browser of the client device, to encode the web-browser-specific information of the client device into a specific URL or a cookie, and to send the web-browser-specific information of the client device to the proxy server apparatus, and receive the web-browser-specific information of the client device (1608, 1609) via a network interface, and wherein the proxy server apparatus comprises: (a) a control module comprising a Javascript modifier module adapted to, upon reception of a HTML document including first Javascript which if executed by the proxy server apparatus would perform URL generation in accordance with web-browser-specific information of a pre-fetch virtual web browser of the proxy server apparatus, (i) insert Javascript into the HTML document or (ii) modify the first Javascript, to obtain second Javascript which, when executed by the proxy server apparatus, performs URL generation using the web-browser-specific information of the client device in place of the web-browser-specific information of the pre-fetch virtual web browser of the proxy server apparatus, so as to generate a URL to be used by the proxy server apparatus for pre-fetching; and (b) the pre-fetch virtual web browser, comprising a Javascript execution module adapted to execute the second Javascript, thereby generating the URL to be used by the proxy server apparatus for pre-fetching. wherein the proxy server apparatus is adapted to receive, from a client device, a first HTTP GET request (1600, 1601) for a first URL, generate a second HTTP GET request for the first URL, transmit via a network interface the second HTTP GET request to a web server associated with the first URL, receive, from the web server, a first HTTP response to the second HTTP GET request, insert Javascript into a HTML document of the first HTTP response, send a second HTTP response (1605, 1606) containing the Javascript to the client device, wherein the Javascript, when processed by a web browser of the client device, causes the client device to extract web-browser-specific information relating to a characteristic of the web browser of the client device, to encode the web-browser-specific information of the client device into a specific URL or a cookie, and to send the web-browser-specific information of the client device to the proxy server apparatus, and receive the web-browser-specific information of the client device (1608, 1609) via a network interface, and wherein the proxy server apparatus comprises: (a) a control module comprising a Javascript modifier module adapted to, upon reception of a HTML document including first Javascript which if executed by the proxy server apparatus would perform URL generation in accordance with web-browser-specific information of a pre-fetch virtual web browser of the proxy server apparatus, (i) insert Javascript into the HTML document or (ii) modify the first Javascript, to obtain second Javascript which, when executed by the proxy server apparatus, performs URL generation using the web-browser-specific information of the client device in place of the web-browser-specific information of the pre-fetch virtual web browser of the proxy server apparatus, so as to generate a URL to be used by the proxy server apparatus for pre-fetching; and (b) the pre-fetch virtual web browser, comprising a Javascript execution module adapted to execute the second Javascript, thereby generating the URL to be used by the proxy server apparatus for pre-fetching. (a) a control module comprising a Javascript modifier module adapted to, upon reception of a HTML document including first Javascript which if executed by the proxy server apparatus would perform URL generation in accordance with web-browser-specific information of a pre-fetch virtual web browser of the proxy server apparatus, (i) insert Javascript into the HTML document or (ii) modify the first Javascript, to obtain second Javascript which, when executed by the proxy server apparatus, performs URL generation using the web-browser-specific information of the client device in place of the web-browser-specific information of the pre-fetch virtual web browser of the proxy server apparatus, so as to generate a URL to be used by the proxy server apparatus for pre-fetching; and (b) the pre-fetch virtual web browser, comprising a Javascript execution module adapted to execute the second Javascript, thereby generating the URL to be used by the proxy server apparatus for pre-fetching.