1) XHTML - a stricter, cleaner rendering of HTML into XML
2) CSS for marking up and adding styles.
4) The XMLHttpRequest object which exchanges data asynchronously with the Web server reducing the need to continually fetch resources from the server.
Since data can be sent and retrieved without requiring the user to reload an entire Web page, small amounts of data can be transferred as and when required. Moreover, page elements can be dynamically refreshed at any level of granularity to reflect this. An AJAX application performs in a similar way to local applications residing on a user's machine, resulting in a user experience that may differ from traditional Web browsing.