JavaScript, DOM i AJAX

Za podstawową interakcję z użytkownikiem na stronach www odpowiada skryptowy język JavaScript (JS), stworzonym przez firmę Netscape. Język ten działa zarówno po stronie klienta jak i serwera, chociaż to ostanie użycie nie jest zbyt popularne. Głównym autorem JavaScriptu jest Brendan Eich. Od 1996 roku organizacja ECMA rozpoczęła pracę nad specyfikacją języka JS. Specyfkiacja ta nazywa się ECMA-262. Istnieje wiele implementacji ECMA-262, odbiegają one jednak od tego standardu. JavaScript jest często mylony z Javą, chociaż mają one ze sobą niewiele wspólnego. Język dzięki wsparciu przez wszystkie liczące się na rynku przeglądarki internetowe, doskonale nadaje się do pisania prostych skryptów działających po stronie klienta.
Aby łatwiej dokonywać zmian w dokumentach (X)HTML/XML, powstał Document Object Model (Obiektowy model dokumentu). Jest to sposób reprezentacji złożonych dokumentów (X)HTML i XML w postaci modelu zorientowanego obiektowo. Jest on odpowiedzią na niekompatybilne ze sobą kolekcje document.layers i document.all wprowadzone przez konkurujących ze sobą producentów przeglądarek. Konsorcjum W3C zdefiniowało zbiór klas i interfejsów, umożliwiających uzyskiwanie dostępu do struktury (drzewa) dokumentu oraz jej modyfikacji poprzez manipulację tak zwanymi węzłami (po angielsku nodes).
Większość akcji wykonywanych przez użytkownika na stronie www wymaga jej przeładowania. Związane to jest z potrzebą pobrania lub modyfikacji danych. Asynchronous JavaScript and XML (Asynchroniczny JavaScript i XML) jest techniką pozwalającą na komunikowanie się przeglądarki użytkownika z serwerem bez potrzeby przeładowania strony.

Za pomocą obiektu XMLHttpRequest język JavaScript wysyła żądanie do serwera, który po jego przetworzeniu zwraca odpowiedź w formacie XML. Dzięki opracowaniu standardowego zbioru metod dostępu do drzewa DOM przez konsorcjum W3C, z tak zwróconej odpowiedzi można bardzo łatwo wyciągnąć potrzebne informacje i dodać je do aktualnie wyświetlanej witryny internetowej. Pomimo iż w rozwinięciu AJAX jest XML, odpowiedź serwera nie koniecznie musi być w tym formacie. Najpopularniejszymi formatami są zwykły HTML oraz JavaScript Object Notation (JSON).
Najważniejszym argumentem przemawiającym za korzystaniem z AJAX-a jest możliwość uzyskania znacznie wyższego poziomu interaktywności w aplikacjach internetowych. Reakcje programu na działania użytkownika są dużo szybsze, bez nużącego klikania i czekania, przez co obsługa całego programu znacznie bardziej przypomina pracę z tradycyjną aplikacją stacjonarną.