Ved udvikling af en web-applikation skelner man mellem klienten og serveren, da der knytter sig vidt forskellige tilgange og værktøjer. Klienten er brugerens browser, mens serveren er den eller de computere hvorpå applikationen afvikles. Såfremt der er tilknyttet en database vil denne være lokaliseret på serveren.
På klienten anvendes mark-up sprogene HTML og CSS til at skabe layout og design. JavaScript bruges til den dynamiske funktionalitet på klienten, såfremt dette måtte være nødvendigt. I moderne browsere er det hensigten, at fortolkningen, af disse tre sprog er identisk. I praksis er det dog ikke altid tilfældet.
Serveren er i stand til at modtage forespørgsler og data fra brugeren. Når en bruger udfylder en formular og trykker "OK" sender browseren disse data til serveren, og det er herefter op til etserver-side sprog at behandle disse data. Til dette formål kan eksempelvis bruges Microsofts.Net-framework, PHP, Perl, Python eller Ruby. Række af tilgængelige programmeringssprog og løsninger slutter dog ikke her. Disse sprog kan læse, manipulere, gemme og slette disse informationer, og på den måde skabe værktøjer, der dækker brugerens behov.