Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию «клиент-сервер».
Клиентская часть реализует пользовательский интерфейс, формирует запросы к серверу и обрабатывает ответы от него.
Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.
Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.
В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый Ajax. При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.
Для создания веб-приложений на стороне сервера используются разнообразные технологии и любые языки программирования, способные осуществлять вывод в стандартную консоль.
Название Лицензия Веб-сервер
ASP проприетарная специализированный
ASP.NET проприетарная специализированный
C/C++ свободная практически любой
Java свободная множество, в том числе свободных
Perl свободная практически любой
PHP свободная практически любой
Python свободная практически любой
Ruby свободная практически любой
На стороне клиента используется:
Для реализации GUI
HTML
CSS
Для формирования и обработки запросов, создания интерактивного и независимого от браузера интерфейса:
ActiveX
Adobe Flash, Adobe Flex
Java
JavaScript
Silverlight