A method performed by data processing apparatus of loading a web page, the method comprising: requesting an HTML file of the web page from a first source; before receiving the requested HTML file, requesting metadata for the web page from a second source that is different from the first source, wherein the request for the metadata identifies the web page; receiving the requested metadata for the web page from the second source, wherein the received metadata comprises data from one or more CSS files, or data determined from one or more previous full renderings of the web page, indicating layout or formatting information for the web page; receiving the requested HTML file of the web page from the first source; providing, for display, a first representation of the web page based on the received layout or formatting information from the second source, wherein the first representation of the web page has a layout in which display areas are reserved for elements of the web page that have not yet been received; and after providing, for display, the first representation of the web page based on the metadata from the second source: receiving said elements of the web page as part of a process to retrieve and process the web page from the first source; generating a second representation of the web page, in which said elements have been added to the layout of the first representation in place of said reserved display areas; and providing, for display, the second representation of the web page. requesting an HTML file of the web page from a first source; before receiving the requested HTML file, requesting metadata for the web page from a second source that is different from the first source, wherein the request for the metadata identifies the web page; receiving the requested metadata for the web page from the second source, wherein the received metadata comprises data from one or more CSS files, or data determined from one or more previous full renderings of the web page, indicating layout or formatting information for the web page; receiving the requested HTML file of the web page from the first source; providing, for display, a first representation of the web page based on the received layout or formatting information from the second source, wherein the first representation of the web page has a layout in which display areas are reserved for elements of the web page that have not yet been received; and after providing, for display, the first representation of the web page based on the metadata from the second source: receiving said elements of the web page as part of a process to retrieve and process the web page from the first source; generating a second representation of the web page, in which said elements have been added to the layout of the first representation in place of said reserved display areas; and providing, for display, the second representation of the web page. receiving said elements of the web page as part of a process to retrieve and process the web page from the first source; generating a second representation of the web page, in which said elements have been added to the layout of the first representation in place of said reserved display areas; and providing, for display, the second representation of the web page.