Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lec.doc
Скачиваний:
16
Добавлен:
05.12.2018
Размер:
2.61 Mб
Скачать

1.7. Программирование в Интернет

1.7.1 Программирование в Интернет

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

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

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

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

Самым распространенным из клиентских языков является JavaScript, разработчиками которого является компания Netscape совместно с компанией Sun Microsystems. Ещё один популярный язык — это VBScript от Microsoft.

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

Когда пользователь дает запрос на какую-либо страницу, то вызванная страница сначала обрабатывается на сервере, то есть выполняются все программы, связанные со страницей, и только потом возвращается к посетителю по сети в виде файла. Этот файл может иметь расширения: HTML, PHP, ASP, Perl, SSI, XML, DHTML, XHTML.

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

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

- Firebird

- IBM DB2

- IBM DB2 Express-C

- Microsoft SQL Server

- Microsoft SQL Server Express

- mSQL

- MySQL

- Oracle

- PostgreSQL

- SQLite

- Sybase Adaptive Server Enterprise

1.7.2 Серверное и клиентское по

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

У слова «сервер», также есть первое значение — компьютер выполняющий только серверные задачи, или компьютер, специализированный для использования в качестве аппаратной базы для серверов услуг (иногда — услуг определенного направления).

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

Важно понимать что сервер, (то есть сервер, предоставляющий какой-либо сервис), всегда является программой, выполняющейся на каком-то аппаратном обеспечении. Без этой программы аппаратное обеспечение не может ничего предоставлять. Даже в «аппаратных серверах» сервис, также, предоставляется программным обеспечением. Иногда сервером услуги называют программное и аппаратное обеспечение в целом, в особенности если этот программно-аппаратный комплекс выполняет только одну задачу.

Теоретически, на одной единице аппаратного обеспечения, может одновременно выполняться произвольное количество серверов (за исключением серверов конфликтующих между собой по ресурсам или их количеству), они будут делить между собой аппаратные ресурсы. Практически, между крайностями «один компьютер — одна услуга» и «один компьютер — все услуги» каждый находит свой компромисс.

Серверы услуг можно запускать на рабочей станции, чтобы они работали в фоне разделяя ресурсы компьютера с программами, запускаемыми пользователем. Такой режим работы называется «невыделенным», в отличие от «выделенного», когда компьютер выполняет только сервисные функции. Строго говоря, на рабочей станции и без того, всегда работает несколько серверов — сервер удаленного доступа, сервер удаленного доступа к файловой системе и системе печати, и прочие удаленные и внутренние серверы.

Клиент - аппаратный или программный компонент вычислительной системы, посылающий запросы серверу.

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

Разновидностью клиентов являются терминалы - рабочие места на многопользовательских ЭВМ, оснащённые монитором с клавиатурой, и не способные работать без сервера. В 1990-е годы появились сетевые компьютеры — нечто среднее между терминалом и персональным компьютером. Сетевые компьютеры имеют упрощённую структуру и во многом зависят от сервера.

Тем не менее, не всегда под клиентом подразумевается компьютер со слабыми вычислительными ресурсами. Чаще всего понятия «клиент» и «сервер» описывают распределение ролей при выполнении конкретной задачи, а не вычислительные мощности. На одном и том же компьютере могут одновременно работать программы, выполняющие как клиентские, так и серверные функции. Например, веб-сервер может в качестве клиента получать данные для формирования страниц от SQL-сервера.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]