Веб - среда распределенная. Работает по модели Клиент-Сервер.
Что это значит?
Это значит, что в процессе функционирования используются как минимум два компьютера:
Компьютер клиент и компьютер сервер.
Т.е. ты, дорогой читатель, набивая в сроке браузера
www.yandex.ru используешь компьютер-клиент.
А всеми любимый Яндекс имеет у себя компьютер-сервер, на котором установлена программа – web-server, которая получая твой запрос отдает тебе в ответе ту самую первую страницу Яндекса, которую, получив, твой браузер показывает тебе.
Все это дело совершается по определенным правилам, иными словами, протоколу, который называется HTTP (Hyper Text Transfer Protocol, протокол передачи гипертекста)
Ну вот, получилось, как в учебнике по сетям для дошкольников. Не обижаемся. Продолжаем.
Теперь чуть глубже.
HTTP надежен и прост, как автомат Калашникова.
Получил запрос, отдал ответ. Все. В этом его сила и слабость одновременно.
Сила в том, что таких запросов сервер может обработать огромное количество за малое время, а слабость… Ну об этом позже.
Итак, когда то давно, веб-страницы были статическими, т.е содержали текст, заранее отформатированный и хранящийся на сервере в виде .html страниц в файлах. Получил сервер запрос в виде
http://yandex.ru/index.htm, взял файл index.htm и клиенту отправил. Все быстро и просто.
Потом народу надоело в сети просто читать то, что дают и он захотел писать что-то сам и делать параметризированные запросы нужной информации. Ну и представлять эту информацию опять же, в каком то нужном виде.
Отдавать просто готовый файл стало недостаточно. Появилась необходимость формировать файл динамически по параметрам запроса. Т.е. нужно что-то сделать. Выполнить какую то программу для построения страницы. А где ее можно выполнить? Мы помним, что компьютеров у нас два – сервер и клиент. Соответственно…Правильно!
Исполнять программу можно либо на сервере, либо на клиенте.
И… тут я подхожу к основной мысли своего повествования. Веб-технологии, как средства выполнения какого-то программного кода разделились на серверные и клиентские.
К серверным можно отнести те платформы (а платформы имелись в виду именно серверные), о которых я уже рассказывал:
PHP
ASP NET
JSP
Java Servlets
Perl
И др.
К клиентским, т.е. тем, которые выполняются в вашем браузере:
Java Script
VB Script
Flash
SilverLight
Java Applets
И др.
Как частный случай технологии Java Script можно рассматривать AJAX, о котором я расскажу отдельно.
На этом все. Извиняюсь за, возможно, излишнюю простоту и примитивизм. Цель – донести смысл до абсолютно неподготовленного читателя.