Общее представление о веб-программировании
HTML - язык разметки гипертекстов. Его возможности позволяют создать богатую и насыщенную структуру текста, включить его в контекст других материалов, размещенных в Сети, красиво его оформить. Но в рамках любого сколько-нибудь сложного веб-проекта может потребоваться динамическое создание или изменение гипертекста, его структуры или оформления. Средства HTML тут не помогут: придется использовать веб-программирование.
Разговор о веб-программировании следует начать с CGI. CGI (Common Gateway Interface) - стандарт, определяющий порядок запуска веб-сервером внешних программ. Через CGI осуществляется формирование документа по запросу пользователя. Именно так, "на лету", поисковый сервер формирует документ с результатами поиска по запросу, так обрабатываются данные, которые пользователь отправляет серверу с помощью HTML-форм. Именно с помощью CGI реализуются такие часто встающие перед создателями веб-страниц задачи, как подсчет посещений, поиск, и т. д. CGI предоставляет разработчикам веб-проектов огромные, почти неограниченные возможности.
Внешние программы для веб-сервера обычно пишутся на интерпретируемом языке программирования Perl, предназначенном для решения задач по обработке текста. На этом языке написано такое количество программ для WWW, что его стали называть "рабочей лошадкой" Всемирной Паутины. Когда от внешних программ, запускаемых веб-сервером, требуется высокая производительность, их пишут на языке программирования C. Впрочем, можно использовать и любые другие языки программирования - главное, чтобы программа правильно работала.
Если требуется проверить значения, введенные в поля HTML-формы, прежде чем послать их на сервер, на помощь придет интерпретируемый язык JavaScript. Текст программы на JavaScript, помещенной в HTML-файле, интерпретируется браузером.
С помощью JavaScript решаются и гораздо более сложные задачи, чем проверка данных форм. К сожалению, у этой технологии есть один недостаток: в различных версиях одного и того же браузера и в браузерах от разных поставщиков интерпретатор JavaScript реализован по-разному и в разном объеме, поэтому программы на этом языке иногда оказываются несовместимыми с браузерами иной версии, чем та, под которую разрабатывалась конкретная программа. Для борьбы с этой проблемой программам на JavaScript иногда даже приходится определять тип и версию браузера, под которой они запущены, прежде чем начать выполнение своей задачи.
В еще большей степени проблемы совместимости преследуют создателей программ на языке Java. Java - мощный объектно-ориентированный язык программирования, при разработке которого особое внимание уделялось вопросам переносимости и сетевой безопасности. Созданная в 1995 году компанией Sun Microsystems, эта технология в течение нескольких последних лет широко рекламируется. Программы для Интернета, написанные на языке Java, носят название applet и являются платформо-независимыми, то есть один и тот же код может исполняться на разных компьютерах, оснащенных разными операционными системами. Однако реализации языка Java (Java-машины) разных версий и от различных поставщиков совершенно не совместимы между собой. Так, по иронии судьбы, язык, предназначенный для решения проблем совместимости и переносимости, сам стал их жертвой.
В связи с веб-программированием вы также можете встретить упоминания ActiveX. ActiveX - это ответ компании Microsoft на появление Java. ActiveX представляет собой реализацию OLE для работы через Internet. Поскольку OLE - технология, используемая только в операционных системах корпорации Microsoft, программы на ActiveX работают только на системах под их управлением. Кроме того, в последнее время выявился ряд конструктивных недостатков этой технологии, главным из которых является принципиальная невозможность обеспечить безопасность данных на компьютере пользователя.
Сложные программные проекты, например, такие как вебовские магазины самообслуживания (shopping cart systems), обычно реализуются с использованием целого ряда веб-технологий. CGI и JavaScript занимают в их ряду почетное место.