AJAX is happening on your client, not your webserver. It is the client that sends requests and gets updated information. Pressing a button on the webserver may alter some state of the webserver but if the client doesn't ask, the webserver does not PUSH new information to the client. Your example of a timer is not the web server updating. The client sees the timer expire and issues another GET to the webserver to update.