Скачать Web - мастеринг. Серверное web - программирование (10.2016, Борисов)

Web - мастеринг. Серверное web - программирование

В рейтинге самых привлекательных и востребованных профессий в ИТ на первое место можно с уверенностью поставить веб-мастера – под этим словом в широком смысле понимают специалистов, которые занимаются разработкой и поддержкой сайтов. Сегодня любая серьезная компания стремится обзавестись собственным сайтом или веб-страницей, а значит, ей нужны квалифицированные специалисты.

Разработчики, программисты, верстальщики, оптимизаторы – ценные сотрудники в российских и международных компаниях. Им предлагают достойный оклад и заманчивые условия труда: корпоративные «плюшки», интересные проекты, карьерный рост, гибкий график. Благодаря стабильному спросу на свои услуги веб-мастер может позволить себе работать на фрилансе: самому выбирать заказчиков, не отчитываясь перед «дядей», сидя в любимом кресле дома или в отеле на берегу моря.

Если Вы решили заниматься разработкой сайтов, Вам нужно четко представлять принципы работы веб-сервера. Именно знания протокола HTTP делают веб-мастера профессионалом своего дела и позволяют ему легко решать задачи построения сайтов. Пренебрегающий этим фактом специалист, сталкиваясь с задачей, пишет громоздкий программный код и даже не догадывается, что она решается одной-двумя строчками в конфигурации веб-сервера.

Наш курс «Web-мастеринг. Серверное web-программирование» поможет изучить механизмы работы веб-сервера и получить практические навыки администрирования. Он будет полезен выпускникам курсов направлений PHP, ASP.Net и др. и слушателям, которые только планируют это обучение. Курс может быть рекомендован выпускникам курсов по веб-направлению, если слушатели не проходили настоящий курс.

На занятиях Вы рассмотрите сервер IIS, входящий в состав линейки ОС Windows 8/7 и Windows Server 2012/2008 , а также сервер Apache версий 2.2-2.4 , часто применяемый на платформе Unix . Преподаватель уделит внимание важным темам, связанным с безопасностью: механизмы аутентификации, сценарии авторизации пользователей, настройка и использование SSL, работа с сертификатами SSL, использование модуля сервера Apache mod_rewrite.

Полученные знания Вы отработаете на практике: 24-часовой курс включает 13 лабораторных работ. Пройдя курс, Вы сможете самостоятельно администрировать серверы IIS и Apache 2.2-2.4, управлять кэшированием контента, использовать SSL и работать со спецификациями RFC. Ваши умения и навыки подтвердят престижные документы центра: свидетельство и удостоверение о повышении квалификации.

Успешная карьера веб-программиста начинается с этого курса! Записывайтесь на курс!

По окончании курса Вы будете уметь:

  • Знать и понимать протокол HTTP/1.1
  • Администрировать сервер IIS
  • Администрировать сервер Apache 2.2 - 2.4
  • Управлять кэшированием контента
  • Использовать обработчики и модули сервера
  • Понимать механизмы аутентификации пользователей
  • Использовать SSL
  • Работать со спецификациями RFC
Специалисты, обладающие этими знаниями и навыками, в настоящее время крайне востребованы. Большинство выпускников наших курсов делают успешную карьеру и пользуются уважением работодателей.

Продажник

Для просмотра содержимого вам необходимо

Технологии создания web-приложений. Языки HTML, DHTML, технология Flash. Достоинства и недостатки.

Веб-приложение - клиент-серверное приложение, в котором клиентом выступает браузер, а сервером - веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются межплатформенными сервисами.

HTML (язык разметки гипертекста) - стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузерами и отображается в виде документа, в удобной для человека форме.

DHTML(динамический HTML) – это набор средств, которые позволяют создавать более интерактивные Web-страницы без увеличения загрузки сервера. Другими словами, определенные действия посетителя ведут к изменениям внешного вида и содержания страницы без обращения к серверу.

DHTML построен на объектной модели документа (Document Object Model, DOM ), которая расширяет традиционный статический HTML-документ. DOM обеспечивает динамический доступ к содержимому документа, его структуре и стилям. В DOM каждый элемент Web-страницы является объектом, который можно изменять. DOM не определяет новых тэгов и атрибутов, а просто обеспечивает возможность программного управления всеми тэгами, атрибутами и каскадными листами стилей (CSS).

Технология Flash основана на использовании векторной графики в формате Shockwave Flash (SWF) разработанная компанией Macromedia. Это далеко не первый векторный формат, но именно его создателям удалось найти наиболее удачное сочетание между изобразительными возможностями графики, инструментальными средствами для работы с ней, а также механизмом включения результата в Web-страницы. Основным преимуществом Flash технологии является его межплатформенность, то есть этот формат может использоваться на любой аппаратно-программной платформе (в частности, как на компьютерах Macintosh, работающих под управлением операционной системы MacOS, так и на компьютерах IBM с ОС Windows). И еще одна весомая особенность Flash технологии: созданные на его основе изображения могут быть не только анимированы, но еще и дополнены интерактивными элементами и звуковым сопровождением.



HTML – hyper text markup language – язык гипертекстовой разметки (НЕ ЯЗЫК ПРОГРАММИРОВАНИЯ)

Тэги – инструмент оформления web-страниц ( текст - оформление текста в виде ссылки)

DHTML – Dynamic HTML

DHTML=HTML+CSS+Java Script+(XML) (НЕ ЯЗЫК ПРОГРАММИРОВАНИЯ)

CSS – Cascadin Style Sheets – язык таблиц каскадных стилей (для задания внешнего вида (шрифтов, цветов, расположения, отступов…)) web-страниц и применяется для отделения основного содержимого документа от оформления этого содержимого.

Преимущества DHTML:

Поддерживается всеми браузерами;

Использует стандартные технологии;

Файлы загружает быстрее, чем flash/java;

Не требует модулей расширения;

Прост в изучении;

Высокая скорость разработки web-страниц;

Недостатки DHTML:

Разный вид web-страниц в разных браузерах;

Ненадежная работа в связи с ошибками в браузерах;

Java Script и CSS чувствительны к ошибкам в синтаксисе.

Flash – платформа для создания мультимедийных приложений.

Преимущества Flash:

Платформенная независимость;

Распространенность и предоставление разработчикам огромнейшего количества инструментов.

Недостатки Flash:

Сложна в изучении;

Несовместимость программных компонентов.

Технологии создания web-приложений. Языки программирования (на стороне сервера и пользователя)

1 группа языков программирования в интернет – на стороне пользователя (в браузере)

Java Script, VB Script, java-апплеты

Программы, написанные на этих языках встраиваются в код web-страниц или выносятся в отдельный файл с вызовом web-страниц.

2 группа языков программирования в интернет – программы на которых выполняются на стороне сервера: PHP, CGI, ASP, Perl

Клиентские языки программирования

Самые распространённые из них - JavaScript и Visual Basic. Особенность таких языков заложена в их названии. Программы, написанные на клиентских языках программирования обрабатываются на клиентском компьютере. Говоря проще, скрипты обрабатывает браузер, стоящий на Вашем компе. Из этой особенности вытекают их плюсы и минусы.

Самым большим плюсом является то, что нет необходимости отправлять веб-документ для обработки на сервер. Эта особенность значительно повышает скорость чтения скрипта. Уменьшается трафик,что экономит деньги и снижается нагрузка на сервер. Так же нет надобности ставить дополнительное программное обеспечение для обработки скриптов, т.к. их обрабатывают браузеры.

Недостатки клиентских языков программирования также вытекают из особенностей. Разные браузеры могут интерпретировать скрипты, исходя из своих индивидуальных предпочтений. Поэтому, результаты показа одних и тех же документов могут отличаться. Хотя, последнее время работа различных браузеров всё более унифицируется. Так же к недостаткам можно отнести и открытость кода таких языков для пользователей.

Серверные языки программирования соответственно работают на стороне сервера. Во взаимодействии с базами данных они поддерживают связь между пользователем и сервером. Получая запрос с адресом веб-документа от браузера, серверные программы связываются с базой данных. БД отдаёт информацию о веб-странице скриптам сервера, и те обработав её, отсылают для интерпретации браузеру клиента, который и выводит результат совместной работы на монитор.

Упрощённая схема такой работы изображена на рисунке:

Достоинством серверных языков является их воистину безграничные возможности и то, что их работа не подвержена воздействию пользователей и скрыта от их взоров. Недостаток - зависимость от программного обеспечения хостера. Так же к недостаткам можно отнести и сложность освоения новичками серверных языков программирования.

Наиболее распространённые серверные языки программирования : C++, Perl, Java, Php, Python.

C уществующие языки программирования принято разделять на серверные и клиентские. Сервер являет собой компьютер, на котором находятся файлы сайта. Клиент - это сам пользователь, а если быть точнее, то браузер, установленный на ПК. Подавая запрос к серверу, он выступает в роли клиента.

Серверные языки программирования

В ыполняются они на самом сервере, для чего используется особая программа. Таким образом на их работе не сказывается то, с какого браузера осуществляется вход, все вычислительные процессы производятся на удаленном ПК. Доступ посетителей к коду программы блокируется, что гарантирует стабильную работу и безопасность сервера. Пользователь видит лишь результат его функционирования, который выводится в браузер в виде HTML-страницы. Серверные языки открывают на порядок больше возможностей, нежели клиентские. Используя их можно обмениваться информацией с сервером, что невозможно себе вообразить в случае с применением клиентских языков.

Н аибольшее распространение получили языки PHP и Perl, так же стоит отметить: Ruby , Java, C, Python которые используются программистами по всему миру. Серверные языки вводятся с помощью специального софта на сервере. Тут есть один важный момент - серверные языки предполагают взаимодействие с удаленным компьютером, а соответственно возникает целесообразность хранения результатов этого взаимодействия. Так, гостевая книга должна хранить сведения об имени пользователя и последних оставленных им уведомлениях. Если объем данных небольшой, то для их хранения сгодится текстовый документ. Но со временем любой сайт растет, вместе с чем возрастают и объемы хранимой информации. Для решения этой проблемы создается База Данных (БД).

БД представляет из себя своеобразную библиотеку, где хранится и сортируется вся информация. Но только ее мало, серверные языки программирования предполагают использование алгоритмов, позволяющих быстро получить доступ к конкретной информации, а не искать ее вручную. Системы, которые отвечают за обработку данных получили название СУБД. Они используются для хранения всей информации, что вам нужна, включая пароли. некоторые сведения для обеспечения безопасности хранятся в зашифрованном виде. Взаимодействие пользователя и базы данных обеспечивает особый язык запросов - Structured Query Language. Одним из самых известных таких языков является MySQL.

К преимуществам серверных языков стоит отнести их практически безграничные возможности. Их работа не зависит от действий пользователей, они вообще не могут получить доступ к коду. Но это же дает весомый недостаток - зависимость от софта хостера и сложность освоения новичками.

Клиентские языки программирования

Самыми распространенными клиентскими языками являются: JavaScript и VisualBasicScript (VBS).

И х главная особенность заложена уже в наименовании. Программы, составленные на клиентском языке обрабатываются на клиентском ПК. Если говорить более простым языком, то их обработка осуществляется браузером, установленном на компьютере пользователя. Это влечет за собой целый ряд достоинств и недостатков.

К лиентские языки программирования обладают значительными преимуществами, среди которых отсутствие необходимости отправления документа для последующей обработки на удаленном сервере. Это положительно сказывается на скорости чтения скрипта, сокращает трафик, нагрузку на сервер и денежные средства. Также это снимает необходимость использования дополнительного софта, отвечающего за обработку скриптов. С этим в полной мере способен справится браузер. За пользование серверными языками хостер взимает определенную плату в то время, как клиентские доступны на бесплатной основе.

И з этих особенностей вытекают недостатки. Прежде всего разные браузеры могут по-своему обрабатывают скрипты, что зависит от их индивидуальных особенностей. В связи с этим один и тот же документ может по разному отображаться в зависимости от используемого браузера. Ситуация начала меняться в лучшую сторону лишь за последние годы в связи с тем, что обозреватели все более унифицируются. Другой явный недостаток - открытость кода для посетителей, что делает его очень уязвимым. Его сможет посмотреть даже не особо продвинутый пользователь, узнав все защищенные сведения и пароли.

Чем отличаются между собой серверные и клиентские языки программирования?

Особенности клиентского языка:

✯ Клиентские языки обрабатываются на компьютере клиента и не требуют отправки документа на удаленный сервер для его последующей обработки;

✯ Работают значительно быстрее;

✯ Высокий уровень нагрузки на клиенте;

✯ Результаты обработки разнятся в зависимости от версии браузера;

✯ Могут не поддерживаться клиентом;

✯ Сведения не сохраняются на сервере.

Особенности серверного языка::

✯ Обработка происходит на стороне сервера;

✯ Результат обработки не зависит от того, каким браузером пользуется пользователь;

✯ Все сведения сохраняются в базе данных сервера и удобно сортируются в ней;

✯ Работают не так быстро.

Заранее признателен за комментарии, оценки и поправки (с учетом, что целевая аудитория - чайники).

Если всем пользователям при любых обстоятельствах требуется показывать одно и тоже, то соответствующий файл можно просто положить на сервер, но обычно этого недостаточно и хочется какого-то разнообразия. В таком случае на сервере нужно запустить программу, которая будет создавать HTML-текст необходимый в данном конкретном случае. Написание этих «серверных» программ (скриптов) и есть в общем-то основное дело веб-разработки, именно в них обычно скрывается 90% сложности и стоимости любого проекта. Т. к. программа выполняется на нашем сервере, а не на компьютере пользователя, то выбор инструментария полностью за нами и нет какого-то одного языка, на котором такие программы пишутся.

Первое и самое принципиальное решение, которое следует принять - операционная система нашего сервера. Теоретически это может быть что угодно, на практике в России в 93% случаев используют Unix, в 6.99% - Windows, в 0.01% - что-то иное. Я не совсем объективен, но не вижу ни одного аргумента в пользу Windows и два в пользу Unix, соответственно рекомендую всегда выбирать его. Аргумент первый: то, что более распространено, всегда удобнее, проще найти хостинг, проще найти специалиста, проще найти готовое решение какой-то подзадачи. Аргумент второй: стоимость лицензий на Windows/MS SQL/...; деньги там не запредельные, но всё же отличные от нуля. Если в качестве ОС мы выбрали Unix, то следующий естественный вопрос - какую его реализацию использовать - абсолютно незначителен и может быть решен исходя из личных предпочтений системного администратора.

Второе принципиальное решение - язык программирования. Выбор тут достаточно велик. Во-первых, есть целый класс языков, идеально подходящих для типичных задач web-программирования (а один из них специально для него и придуман) - "скриптовые языки". Сейчас это как минимум PHP, Perl, Ruby и Python. Именно на них написано подавляющее большинство сайтов от простейших интернет-магазинов до vkontakte.ru, например. По возможностям, удобству, производительности, средствам разработки, каким-то другим теоретическим показателям они примерно равны между собой, основная разница в наличии программистов. Прямо сейчас замеренные показатели рынка таковы: на 100 резюме PHP-программистов в России приходится 10 Perl и по 2-3 Ruby и Python-резюме. С другой стороны, из всех людей, которые называют себя PHP-программистами, к коду на пушечный выстрел нельзя подпускать 80%, для перловиков этот показатель в районе половины, а для Ruby и Python и того меньше. Понятно, что первые цифры объективны и взяты с рабочих сайтов, а вторые условная субъективная оценка и прямо перемножать их нельзя, но в любом случае, количество и программистов, и хороших программистов упорядочено именно в таком порядке: PHP, Perl, Ruby или Python, а средний их уровень в прямо противоположном. Таким образом, если у нас промышленный проект, с большим количеством разработчиков и текучкой кадров, то из Web-языков выбирать нужно PHP (допустимо использование Perl в случае каких-то очень важных локальных причин). Если же проект короткий, программист точно будет один и не будет меняться никогда, то выбор можно доверить ему, при этом выбор Ruby/Python может даже оказаться оптимистичным фактором.

Кроме рассмотренных близнецов-братьев скриптовых языков (выбор между которыми чисто социальный), есть языки и другие, имеющие другие технические характеристики и соответственно другие ниши для применения.

Язык C. Язык, требующий максимальной аккуратности программиста, наиболее сложный в поиске ошибок, с наименьшим количеством доступных готовых решений и с самой низкой скоростью разработки. Все эти минусы он компенсирует только одним плюсом: производительностью, которая на несколько порядков лучше производительности PHP и его аналогов. В принципе, железо сейчас дешевое, а рабочая сила дорогая, плюс этот важен достаточно редко. Условно, если в проекте предполагается менее миллиона показов в сутки, то про C можно забыть смело, но, если показов больше, о нем следует только думать, а не принимать безоговорчно. На C написан, например, счетчик liveinternet.ru.

Язык С++. Обладает всеми теми же недостатками, что и С, но в менее явной форме, взамен дает соизмеримую, но меньшую производительность. Обычно применяется там, где производительность всё же требуется, а бизнес-логика очень сложна и находится на грани научности. Классический пример - поисковые сервисы. Важный недостаток, не дающий ему полностью вытеснить С на его нише, это большая свобода для неподдерживаемого кода. Как и в случае табличной верстки, на С все пишут примерно одинаково, и если код удовлетворяет формальным и проверяемым требованиям качества (не допускает утечки памяти, корректно обрабатывает ошибки и т. п.), то он скорее всего будет на вполне приемлемом уровне и по неформализуемым, но важным характеристикам типа «понятности» и «связности». А вот на C++ можно соблюдая все формальные требования написать, как великолепно, так и отвратительно. И естественно второе встречается чаще.

Язык Java. С технической точки зрения отличается от C++ примерно так же, как C++ отличается от C. Т. е. переход от C++ на Java это потеря ещё половины порядка производительности, но новый выигрыш в скорости разработки и библиотека готовых решений уже соизмерима со скриптовыми языками. С точки зрения социальной, количество программистов на Java меньше и количества программистов на C++, и количества программистов на PHP, при этом они в среднем дороже и, на мой субъективный взгляд, в среднем хуже тех и других. Причина такого странного расклада - в довольно большом рынке Java-разработки корпоративных систем, который с одной стороны поднимает зарплаты, а с другой прививает свою культуру и подход к программированию, который только вреден в вебе. В итоге, я не вижу ни одной ситуации, когда применение Java в веб-разработке было бы обосновано. (Но тем не менее odnoklassniki.ru написаны именно на Java и успешно работают.)

Если мы успели совершить ошибку и выбрали в качестве операционной системы Windows, то кроме перечисленных языков (все они в принципе больше ориентированы на Unix, но могут быть использованы везде) появляются ещё два варианта: это VBScript (некий аналог PHP) и C# (аналог Java). Т. к. я не вижу выигрыша от Windows, то и их рекомендовать не могу.

Перечисленными вариантами многообразие серверных языков программирования не ограничивается, но суммарная популярность всего остального близка к нулю и рациональных причин для выбора экзотики я не знаю.

Все существующие (по крайней мере все популярные) инструменты универсальны. На каждом из них можно реализовать абсолютно всё что угодно, вопрос только в том, что с некоторыми инструментами это будет быстрее и дешевле, а с другими дороже и медленнее. В принципе, никто не запрещает использовать в одном проекте два разных серверных языка, но обычно это приводит к ухудшению управляемости проекта - мы зависим от двух специалистов (или двух групп специалистов) вместо одного, которые кроме собственно проектной работы должны тратить усилия на согласование как чисто социальное (общение между собой), так и техническое. Единственное оправдывающее себя исключение это связка одного из скриптовых языков с кем-то из пары C/C++. «Поверхностная» часть кода, отвечающая за интерфейс, пишется на скриптовом, а наиболее критичная к производительности внутренняя - на С или С++. При этом соотношение между частями в разных проектах может быть совершенно разным. Например, ulov-umov.ru представляет из себя очень алгоритмически сложный C++ проект, реализующий по сути собственную поисковую систему и небольшую Perl-обертку, рисующую пользовательский интерфейс из буквально 10 страниц. А внутри полностью PHP-шного readme.ru есть один маленький C-шный модуль, который по готовым данным быстро-быстро рисует информеры. Важно, что производительный язык всегда «внутри», а уж какую долю от объёма он занимает - зависит от локальных факторов.

А вы знаете, что языки веб-программирования бывают клиентскими и серверными? JavaScript, VBS, PHP, PERL. А вы знаете, чем они отличаются, как работают? А вы знаете, что такое сервер? А вы знаете, что такое СУБД? А вы знаете? Так читайте эту статью и узнаете:)

1 - Языки веб-программирования, что это такое
2 - Клиентские языки веб-программирования
3 - Серверные языки веб-программирования
4 - Пара слов напоследок

Языки веб-программирования, что это такое

Вы где-то там читали, что для того, чтобы сделать гостевую книгу или опрос, нужно знать какое-то там веб-программирование. Вы когда-то там слышали, что такое веб-программирование. Вот мы и встретились, ведь я когда-то тоже мучился этими вопросами, а ныне попытаюсь дать на них ответы.

Языки веб-программирования - это соответственно языки, которые в основном предназначены для работы с интернет-технологиями. А некоторые и создавались только для работы с каким-нибудь ресурсом, и лишь долгое время спустя к ним приходила известность и всеобщее признание (например, PHP). Но я не буду углубляться в историю создания различных языков веб-программирования, поскольку не она является предметом этой статьи, а если читателю интересно, он может найти её на сайтах разработчиков.

Языки веб-программирования делятся на две группы: клиентские и серверные. Напомню, что такое сервер: это и тот компьютер, где хранится ваш сайт, и та программа, которая обрабатывает запросы браузера к какой-либо странице.

Клиентские языки

Как следует из названия, клиентские языки обрабатываются на стороне клиента пользователя, а если проще - программы на клиентском языке обрабатывает браузер. Отсюда следует и недостаток – это то, что обработка скрипта зависит от браузера пользователя, и пользователь имеет полномочия настроить свой браузер так, чтобы он вообще игнорировал написанные вами скрипты. При этом, если браузер старый, он может не поддерживать тот или иной язык или версию языка, на которую вы опираетесь. С современными браузерами таких проблем возникать не должно, к тому же языки программирования не так уж часто кардинально обновляются (раз в несколько лет) и лучшие из них давно известны. Также код клиентского скрипта может посмотреть каждый, выбрав в меню “Вид” своего браузера вкладку “Исходный код” (или что-то в этом роде).

Преимущество же клиентского языка заключается в том, что обработка скриптов на таком языке может выполняться без отправки документа на сервер. Это легче объяснить на примере: допустим, вам надо проверить правильно ли пользователь ввел e-mail (т.е., например, проверить в нем наличие “@”); чтобы это сделать пользователю, надо было бы отправить форму с заполненными данными, потом дождаться, пока она обработается, и лишь после этого получить сообщение об ошибке (если она, разумеется, присутствует). Процесс слишком долгий. С клиентским же языком программа сразу проверит правильное заполнение формы перед отправкой, и, если необходимо, выведет ошибку. Отсюда же вытекает и то ограничение, что с помощью клиентского языка программирования ничто не может быть записано на сервер, то есть, например, с его помощью нельзя сделать гостевую книгу, потому что тогда надо записывать сообщения в какой-либо файл на сервере.

Самым распространенным из клиентских языков является JavaScript, разработчиками которого является компания Netscape (www.netscape.com, думаю, вам известен их браузер Netscape Navigator) совместно с компанией SunMicrosystems (www.sun.com). Другой вариант клиентского языка это, например, VisualBasicScript (VBS). Чтобы начать учить клиентский язык веб-программирования, Вам понадобится поддерживающий этот язык браузер (Internet Explorer (www.microsoft.com), Opera (www.opera.com), Netscape Navigator (www.netscape.com), Mozilla (www.mozilla.org), будут подходящими вариантами (лично я пользуюсь последним)) и обучающий материал, который можно найти на сайте alepira.ural.ru

Серверные языки

Итак, теперь разберемся в том, как обрабатываются скрипты на серверном языке программирования. Для начала предоставлю следующую схему:

Когда пользователь дает запрос на какую-либо страницу (переходит на нее по ссылке, или вводит адрес в адресной строке своего браузера), то вызванная страница сначала обрабатывается на сервере, то есть выполняются все скрипты, связанные со страницой, и только потом возвращается к посетителю в виде простого HTML-документа (то есть посетитель уже никак не сможет увидеть код Вашего скрипта). Но работа ваших скриптов уже полностью зависима от сервера, на котором расположен ваш сайт, и от того, какая версия того или иного языка поддерживается хостингом.

Серверные языки программирования открывают перед программистом большие просторы в деятельности, однако, сколько бы не писали люди, продвигающие язык, что их язык очень легок для обучения, без предварительного груза знаний освоить довольно-таки тяжело.

Здесь же стоит упомянуть, что такое Система Управления Баз Данных, или СУБД. Это, по сути, тоже сервер, на котором в определенном пользователем порядке хранится разная необходимая информация, которая может быть вызвана в любой момент. Это библиотека, в которой все материалы аккуратно сложены по полочкам и в любой момент могут быть взяты. Обычно при покупке хостинга выделяется одна База данных (БД), в которой пользователь может создавать множество таблиц, а в них уже хранить разнообразную информацию. То есть если опять же вернуться к примеру с гостевой книгой, то в какой-либо созданной Вами таблице можно хранить сообщения, оставленные пользователями. Можно, конечно, хранить их и в текстовом файле, но это менее надежно, да и к тому же я привел лишь мелкий пример, а если, скажем Вам надо хранить пароли (а их надо хранить в зашифрованном виде), или связать несколько таблиц при обращении к каким-либо данным, тут без БД не обойтись.

В настоящее время стали известны и не напрасно СУБД, обращение к которым производится посредством Structured Query Language (SQL), или структуризированным языком запросов. Чтобы работать с этими базами данных (дополнять, обновлять, делать запросы и т. д.) вам необходимо знать этот самый SQL. Среди таких СУБД наиболее известна MySQL (www.mysql.com), я же для себя предпочел PostgreSQL (www.postgresql.org).

Пара слов напоследок

Если продолжать говорить о языках программирования, то сейчас существуют языки, которые встраиваются в сам документ, и те программы, на которых надо предварительно компилировать, то есть превращать, написанные вами исходные коды в готовую программу; недостаток вторых заключается в том, что если вам нужно обновить скрипт, то придется заново компилировать дополненные коды.

Среди серверных языков программирования выделяются PHP (PHP: Hypertext Preprocessor) (www.php.net), Perl (www.perl.com), SSI (Server Side Include). Для тестирования этих скриптов Вам понадобится уже побольше: сервер (www.apache.org), интерпретатор языка (можно взять на сайте производителя), ну и конечно при продуктивной работе еще и СУБД.