Сделай Сам Свою Работу на 5

Механизм работы Web-сервера





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

Технология CGI, заголовки ответов и запросов CGI

Технология CGI (Common Gateway Interface) подразумевает использование в составе ресурса Интернет специальных программ (скриптов), обеспечивающих передачу потока данных от объекта к объекту. Именно так организовано во Всемирной сети большинство конференций, досок объявлений, гостевых книг, поисковых машин, систем подсчета статистики и специальных интерактивных форм для проведения различных опросов среди посетителей web-сайта.

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



Технология CGI обычно реализуется с использованием программ, написанных либо на языке PERL (Practical Extraction and Report Language) -такие файлы имеют расширение .pl, либо с помощью других языков программирования, поддерживающих определяемую стандартом CGI среду окружения. С помощью данной технологии можно также организовать показ последовательности рекламных баннеров, создать форму от правки электронного письма непосредственно со страницы сайта, реализовать динамический подсчет стоимости сделанного посетителем заказа или автоматически установить наиболее популярное наименование товара из предлагаемого на сервере ассортимента.

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



Серверные сценарии PERL, PHP, ASP, SSI.

Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информации и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен. Perl сочитает в себе лучшие черты C, shell, sed и awk, поэтому для тех, кто знаком с ними, изучение Perl-а не представит особого труда. Cинтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для обработки текстовых файлов, он может обрабатывать так же двоичные данные и создавать .dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perl-е, а также позволяет осуществлять доступ к базам данных, в том числе Oracle.
Этот язык часто используется для написания CGI-модулей, которые, в свою очередь, могут обращаться к базам данных. Таким образом может осуществляться доступ к базам данных через WWW.



Perl поддерживает три типа данных:

· скаляры

· массивы скаляров

· ассоциативные массивы скаляров (так называемые хэши).

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

Программа на Perl-е состоит из последовательности команд. В отличие от типизированных языков Perl не требует объявления типов своих объектов. Все объекты, определенные в программе, до присваивания им какого-либо значения по умолчанию принимают значение ``0''. Последовательность команд исполняется сразу, в отличие от sed и awk, где исполняется последовательно каждая строка. Комментарии выделяются знаком #, и вся строка следующая за этим знаком будет рассматриваться как комментарий. Если вы написали подпрограмму, то ее можно вызывать только ниже по тексту программы. Блоком называется последовательность операторов, логически составляющая единое целое в теле программы, как правило, блоки заключаются в фигурные скобки. Каждая команда отделяется от других точкой с запятой. Точка с запятой не обязательна, только если оператор является последним в блоке.

SSI

С точки зрения непрофессиональнала серверные включения, SSI (Server Side Includes)- это специальные заполнители в HTML-документе, которые сервер будет заменять реальными данными непосредственно перед отправкой на браузер окончательного документа. К тому времени, как документ попадает на браузер, он ничем не отличается от других страниц, как будто данные в HTML-код вставлены вручную.

SSI позволяет создавать структуры для страниц, которые будут динамически генерироваться сервером. Для web-авторов он может оказаться мощным средсвом управления разработкой сайта и повышения его эффективности. Примеры использования SSI:

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

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

· вывод даты и времени последнего обновления.

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

· SSI может обслуживать web-страницу, осуществляющую запрос с браузера. Даже можно обслуживать документы на базе имени домена пользователя.

Ниже приведен список основных серверных включений (SSI) и их атрибутов:

CONFIG

ERRMSG - задает по умолчанию сообщение, которое передается при обнаружении ошибки во время синтаксического анализа документа.
<!-- #config errmsg = " Error: file not found " -->

SIZEFMT - устанавливает формат, используемый при отображении размера файла. Допустимы значения - bytes или abbrev, которое округляет размер до ближайшего килобайта.
<!-- #config sizefmt = " abbrev " -->

TIMEFMT - устанавливает формат для времени и даты. Подробнее об этом я расскажу ниже.
<!-- #config timefmt = " %A, %B, %e, %Y " -->

ECHO

VAR - значением является имя переменной, которую надо напечатать.
<!-- #echo var = " DATE_GMT " -->

EXEC

CGI - указывает относительный URL-путь к сценарию CGI:
You are visitor number <!-- #exec cgi = " /cgi-bin/counter.pl " -->

CMD - задает любую команду на сервере. Переменные SSI доступны этой команде.
<!-- #exec cmd = " bin/finger $REMOTE_USER@$REMOTE_HOST " -->

FSIZE

FILE - задает месторасположение файла в виде пут, относительно каталога, в котором находится анализируемый документ.

VIRTUAL - задает путь url относительно текущего анализируемого документа. Если он не начинается со слэша (/), то считается относящимся к текущему документу.
The size of this file is <!-- #fsize file = " somefile.html " -->

FLASTMODE

FILE - задает месторасположение файла в виде пути, относительно каталога, в котором находится анализируемый документ.

VIRTUAL - задает путь url относительно текущего анализируемого документа. URL не может содержать схему или имя хоста, только путь. Если он не начинается со слэша (/), то считается относящимся к текущему документу.
This file was last modified on <!-- #flastmode virtual = " /mydocs/somefile.html " -->

INCLUDE

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

VIRTUAL - задает путь url относительно анализируемого документа. URL не должен содержать схему или имя хоста. Если он не начинается со слэша (/), то считается относящимся к текущему документу.
<!-- #include virtual = " somefile.html " -->

PRINTENV

PRINTENV - используется только Apache версии 1.2 и выше. Элемент распечатывает список всех существующих переменных и их значения.
<!-- #ptintenv -->

SET

VAR - имя устанавливаемой переменной.
VALUE - значение, присваиваемое переменной.
<!-- #set var = " password " value = " mustard " -->

 

PHP

PHP - язык написания сценариев, внедренный в HTML. Многое из синтаксиса заимствовано из C, Java и Perl, с добавлением специфичных для PHP возможностей. Задача языка состоит в том, чтобы дать возможность Web-разработчикам легко и быстро создавать динамично изменяемые html-страницы. Что может делать PHP3?

Возможно самая сильная и значимая возможность в PHP3 - уровень интеграции с базами данных. Написание веб-страницы работающей с базой данных невероятно проста. В настоящее времени поддерживаются следующие базы данных:

Oracle

Adabas D

Sybase

FilePro

mSQL

Velocis

MySQL

Informix

Solid

dBase

ODBC

Unix dbm

PostgreSQL

Краткая История PHP

PHP был задуман где-то в конце 1994 года Расмусом Ледорфом(Rasmus Lerdorf). Ранние невыпущенные версии использовались на его домашней странице для того, чтобы следить за тем кто просматривал его интерактивное резюме. Первая используемая версия cтала доступна где-то в начале 1995 и была известна как Personal Home Page Tools. Она состояла из очень упрощенного движка синтаксического анализатора, который понимал только несколько специальных макрокоманд и ряд утилит, которые затем были в общем использовании на домашних страницах. Гостевые книги, счетчики и некоторые другие дополнения.

Довольно трудно дать какую-либо жесткую статистику, но отмечено, что к 1996 г. PHP/FI был использован по крайней мере на 15,000 веб-сайтах во всем мире. В середине 1997г. эта цифра выросла до более чем 50,000. В середине 1997г. также наблюдалось изменение в разработке PHP. Из частного любимого проекта Расмуса, которому способствовала горстка людей , это превратилось в намного более организованную рабочую группу. Синтаксический анализатор был заново переписан Зевом Сураски(Zeev Suraski) и Анди Гутмансом(Andi Gutmans), и этот новый синтаксический анализатор стал основой для PHP Версии 3.

Сегодня ( в середине -1998г.) как PHP/FI так и PHP3 поставляется с рядом коммерческих продуктов типа C2's StrongHold web server и RedHat Linux и консервативной оценкой, основанной на экстрaполяции чисел, предоставленных NetCraft было бы то, что PHP используется на 150,000 cайтах во всем мире. В перспективе, их больше чем сайтов, запущенных на Netscape's flagship Enterprise server в Интернете.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.