Студопедия
Главная страница | Контакты | Случайная страница | Спросить на ВикиКак

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. I. Языки программирования
  2. Lt;variant>язык программирования высокого уровня
  3. Lt;variant>Языки программирования высокого уровня
  4. Алгоритмизация и основы программирования: А5
  5. Алгоритмические языки
  6. Алгоритмические языки. Трансляторы.
  7. Алтайские языки
  8. Афразийские языки.
  9. Базовые конструкции структурного программирования
  10. Введение в психологию программирования

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

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

Однако и для использования сценариев на стороне сервера имеется три основных препятствия.

• Запуск скриптов на сервере зачастую требует получения специаль­ных прав от Web-мастера или системного администратора.

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

• Для тестирования сценариев для сервера требуется иметь собствен­ный WWW-сервер, предпочтительно того же типа, что и промышлен­ный вариант.

Программирование на стороне сервера в настоящее время является необходимым условием для решения широкого спектра задач. Оно позволяет:

a) получать и обрабатывать на сервере данные, введенные пользователем при помощи формы;

b) динамически создавать web-документы, не зависящие ни от платформы, ни от браузера клиента;

c) обеспечивать динамический доступ к данным, находящимся на сервере, в частности, к серверным базам данных (при таком способе доступа HTML-документ автоматически изменится, как только изменятся хранящиеся на сервере данные);

d) использовать серверные компоненты, предназначенные для решения типовых задач (таких, например, как циклическая смена рекламных баннеров и др.);

e) осуществлять аутентификацию пользователя;

f) получать информацию о браузере клиента;

g) создавать и читать ключики на стороне клиента;

CGI: Технология «клиент-сервер»

Большое количество World Wide Web приложений основано на использовании внешних программ, управляемых Web сервером. Использование данных программ позволяет строить Web приложения с динамически обновляемой информацией, хранящейся в базах данных или генерирующейся в зависимости от бизнес-правил решаемых задач. Для связи между Web сервером и вызываемыми программами широко используется Common Gateway Interface (CGI), имеющий реализации как для Windows-ориентированных программ, так и для приложений, функционирующих в среде Unix.

CGI - Common Gateway Interface является стандартом интерфейса (связи) внешней прикладной программы с информационным сервером типа HTTP, Web сервер.

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

Т.о., программа-шлюз запускается WWW сервером в реальном масштабе времени. WWW сервер обеспечивает передачу запроса пользователя шлюзу, а она в свою очередь, используя средства прикладной системы, возвращает результат обработки запроса на экран пользователя. Программа-шлюз может быть закодирована на языках C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script. Как выполнимый модуль, она обычно записывается в поддиректорий с именем cgi-bin WWW сервера.

Интернет вообще и WWW в частности работает по техно­логии «клиент-сервер», то есть все программное обеспечение разделяется на клиентскую и на серверную части. Также между ними разделены и функцио­нальные обязанности. Важным для понимания моментом является то, что кли­ент не знает и не обязан знать принципы работы и реализацию внутренних алго­ритмов сервера, а сервер не вмешивается в дела клиента. Для взаимодействия этих частей разработан специальный протокол (в частном случае — протокол HTTP), и все взаимодействие между клиентом и сервером осуществляется исключительно в рамках данного протокола. Вашему броузеру все равно, какое программное обеспечение стоит на сервере, какая там операционная система, где физически лежат запрашиваемые документы на сервере (и лежат ли вообще, ведь они могут и генерироваться на лету специальными программами). Сервер тоже не вмешивается в дела вашего броузера, серверу абсолютно все равно, что сделает клиент с переданной информацией, как он ее будет отображать, сохранит на диске или проигнорирует — серверу до этого дела нет. Взаимодействие клиента и сервера происходит по принципу «запрос-ответ». Клиент посылает запрос, сервер обрабатывает его и посылает ответ (рис. 1.1-1):

 

 

Рассмотрим более детально все этапы соединения по протоколу HTTP:

1. Формирование запроса клиентом. (Броузер формирует запрос из URL, набранного пользователем, из щелчка на ссылке либо из данных формы.)

2. Установка соединения с сервером. (Если установить соединение не удается, то на этом HTTP-транзакция закончится и клиент выдаст пользователю сообщение об ошибке.)

3. Посылка запроса и ожидание ответа от сервера. (Все, что требуется от клиента, это чтобы запрос был в корректном формате.)

Загрузка...

4. Сервер принимает запрос. (Об этом и следующем этапе клиенту ничего не известно.)

5. Сервер обрабатывает запрос.

6. Генерация ответа.

7. Прием ответа клиентом.

8. Разрыв соединения.

9. Обработка данных клиентом. (Вывод или сохранение данных.)

Обычно под запросом к серверу понимается URL (это унифицированная форма «заказа» данных на сервере). К собственно URL могут еще «прилагаться» неко­торые данные, чаще всего это данные форм (вспомните, как вы вводите ключе­вое слово в поисковике). Формирование HTTP-запроса будет детально рассмот­рено в одном из следующих уроков.

При установке соединения с сервером сначала происходит трансляция символь­ного доменного имени, такого, как www.siemens.com, в IP-адрес, а затем осуществ­ляется непосредственно создание TCP/IP-соединения с данным IP. Когда данные HTTP-запроса посланы серверу, клиент просто ожидает, пока не придет ответ.

Пока нет обращений от клиентов, сам HTTP-сервер просто «спит» в ожидании запросов. Когда клиент устанавливает соединение, сервер «просыпается» и, при­няв данные запроса, приступает к их обработке. Что именно сервер делает с за­просом — известно только самому серверу. Единственный резуль­тат всех хитрых манипуляций — это выдача ответа, которого и ожидает клиент.

После того как сервер выдал ответ, он разрывает соединение и вновь «погружа­ется в сон». Естественно отметить, что в случае возникновения ошибки HTTP-транзакция может закончиться на любом из этих этапов.


Дата добавления: 2014-12-15; просмотров: 10 | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2017 год. (0.008 сек.)