With Web 2.0 applications, the entire concept of pages becomes blurred. It is difficult to determine the time when a Web page has finished loading. The initial HTTP request is usually answered with some HTML response including additional resources that the browser loads in subsequent requests. When executing the JavaScript, additional requests may be transmitted via XMLHttpRequest calls. The responses to such asynchronous calls may be reflected by a change/adaption of the initial page.
Some pages are updated frequently without any user interaction. Other events that may trigger asynchronous calls are: